ExcelマクロVBA入門 | 第37回.ブック・シートの指定 | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2018-01-19

第37回.ブック・シートの指定


今までは、アクティブブックのアクティブシートを扱ってきました、

アクティブブックのアクティブシートとは、一番手前に表示されているブックの選択しているシートで、

通常、手作業で操作しているシートの事になります。

手作業では、アクティブブックのアクティブシートしか扱えませんが、
(作業グループで複数のシートに同時に操作はできますが)

マクロで、アクティブブックのアクテイブシートしか扱えないのでは、とても不便です。。


マクロでは、
アクティブブック以外のブックや、アクテイブシート以外のシーも扱えます。

それには、次のように指定します。

Workbooks("ブック名").Worksheets("シート名").Range("セル番地")

このように指定することで、開かれているブックなら、

どのブックのどのシートでも扱う事が出来ます。

また、ブックはアクティブブック限定なら、

Worksheets("シート名").Range("セル番地")

で指定できます。

つまり、今までの、RangeやCellsは、

ActiveWorkbook.ActiveSheet.Range

この、

ActiveWorkbook.ActiveSheet.

この部分を省略していたことになります。


具体的には、

ブック:Book1.xls
シート:Sheet1
セル:A1


ここに、"文字"を入れる場合、

Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1") = "文字"

ブック:アクティブブック
シート:Sheet1
セル:A1〜B10


ここに、格子線を引く場合、

Worksheets("Sheet1").Range("A1:B10").Borders.LineStyle = xlContinuous

マクロでは、

WorkbookやWorksheetをSelectしたり、Activateしたりせずに、

このように、ブック・シートを指定して、操作するようにします。


ただし、アクティブブックのアクティブシートでなければ出来ない事もあります。

例えば、RangeのSelectやActivate等は、アクティブブックのアクティブシートのみで有効です。

しかし、ほとんどの場合、ブック.シートを指定することで操作可能です。

ブックが1つしか開いてない場合や、アクティブブックのみ操作する場合は、

ブックの指定は省略して良いでしょう。

しかし、シートの指定は、基本的には省略せずに指定しましょう。

マクロでは、アクティブシートのみしか扱わないは事は少ないですし、

マクロの実行途中で、シートを切り替えてしまう事も多々ありますので、

それらの対応として、アクティブシートでなくても動作するように、

シートの指定は省略せずに指定して下さい。

ただし、このブログ内の説明及びサンプルコードでは、

VBAコードの読みやすさを考慮して、
適宜省略して記載することもあります。




同じテーマ「ExcelマクロVBA入門」の記事

第38回.セルに計算式を設定(Formula)
第39回.セルのクリア(Clear)
第40回.セルのコピー・カット&ペースト(Copy,Cut,Paste)
第41回.セルのコピー&値の貼り付け(PasteSpecial)
第42回.セルをコピーするとは
第43回.総合練習問題5
第44回.VBA関数について

新着記事 ・・・新着記事一覧を見る

大量VlookupをVBAで高速に処理する方法について|ExcelマクロVBA技術解説(12月12日)
オセロを作りながらマクロVBAを学ぼう|ExcelマクロVBAサンプル集(11月26日)
ScreenUpdating=False時にエラー停止後にシートが固まったら|ExcelマクロVBA技術解説(11月21日)
データクレンジングと名寄せ|ExcelマクロVBA技術解説(10月20日)
SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い分け方|ExcelマクロVBA入門
3.変数とデータ型(Dim)|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
6.オセロを作りながらマクロVBAを学ぼう|ExcelマクロVBAサンプル集
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.定数と型宣言文字(Const)|ExcelマクロVBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.繰り返し処理(For Next)|ExcelマクロVBA入門



  • >
  • >
  • >
  • ブック・シートの指定

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP