ExcelのVBAを使用していると、ワークブックやワークシートを指定しながら入力したいことがよくあります。
しかし、頭の中ではイメージしていても、いざVBAを動かしてみるとエラーになったり違うシートに入力されたりすることも良くあります。
そこでこの記事ではVBAでワークブックを指定して記述する方法を紹介します。
今回はVBA初心者の方向けに、ワークブックやワークシートなどの階層についても説明しますので、ご自身の知識に合わせて読み飛ばしたり、気になる点をしっかり読んでいきましょう。

ワークブック・ワークシートの階層

まずはVBAに限らずExcelで使用される階層についてご説明します。
普段入力しているマスは「セル」と呼ばれていて、具体的に言うと「〇〇のブック」の「〇〇のシート」のセルに入力されています。
Yuつまり普段Excelを保存しているのがブックなのですね!


そして、シートはExcelの下にあるもので、基本的にはシート1から始まります。


セルは入力されているマスのことで、上の画像では「A1」のセルを選択しています。
ワークブックを指定した書き方


ワークブックを指定する場合の基本となる書き方は以下となります。
【ワークブック名】.【ワークシート名】.【セル名】
ワークブックを指定した書き方の例



以下はワークブックを記載したVBAコードの例です。
Sub テスト()
Workbooks(“book1”).Worksheets(“sheet2”).Range(“A1”).Value = “テスト2”
End Sub
この書き方ではExcelの保存名がbook1だった場合、ワークシート2のセルA1に「テスト2」と入力されます。


ワークシートは2種類の書き方がある
ワークシートは先ほどのようにシート名をそのまま書く方法もありますが、シートの順番として記述することもできます。
Worksheets(“sheet2”)
もしくは
Worksheets(2)
1つ目の書き方は「sheet2」の名称で保存しているシートを指定しており、2つ目の書き方はそのデータの中で2つ目のシートを表しています。
ワークブックを省略した書き方
以下のようにワークブックやワークシート名を省略した場合、アクティブブックのアクティブシートのセルを指定されます。



アクティブとは今開いているもののことを指します。
Range(“A1”).Value = “テスト”
上記のコード場合、もしsheet3を開いているときにマクロを動かしたらsheet3のセルにテストと入力され、もしsheet2を開いているときにマクロを動かしたらsheet2に入力されるようになります。
まとめ
今回はExcelのVBAでワークブックを指定して記述する方法について紹介しました。
ワークブックやワークシートの指定を間違えると、思わぬ所で時間がかかってしまい、消したくないデータを消してしまったりします。
基本を知ることで今後の応用にも繋がりますので、是非ワークブックの指定方法を習得しておきましょう。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
【ステップ7へ進む▼▼】












