VBAでワークブックを指定して記述する方法

VBA_ワークブックの指定

ExcelのVBAを使用していると、ワークブックやワークシートを指定しながら入力したいことがよくあります。

しかし、頭の中ではイメージしていても、いざVBAを動かしてみるとエラーになったり違うシートに入力されたりすることも良くあります。
そこでこの記事ではVBAでワークブックを指定して記述する方法を紹介します。

今回はVBA初心者の方向けに、ワークブックやワークシートなどの階層についても説明しますので、ご自身の知識に合わせて読み飛ばしたり、気になる点をしっかり読んでいきましょう。

目次

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

VBA_ワークブックの指定2
まずはVBAに限らずExcelで使用される階層についてご説明します。

普段入力しているマスは「セル」と呼ばれていて、具体的に言うと「〇〇のブック」の「〇〇のシート」のセルに入力されています。

ブックは保存しているExcelのデータの名前です。

VBA_ワークブックの指定1

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

VBA_ワークブックの指定2

セルは入力されているマスのことで、上の画像では「A1」のセルを選択しています。

ワークブックを指定した書き方

VBA_ワークブックの指定3
ワークブックを指定する場合の基本となる書き方は以下となります。

[aside type=”lime”]
【ワークブック名】.【ワークシート名】.【セル名】
[/aside]

 

間に必ずコンマ「.」を記述する必要があります。

 

ワークブックを指定した書き方の例

[aside type=”lime”]
Sub テスト()

Workbooks(“book1”).Worksheets(“sheet2”).Range(“A1”).Value = “テスト2”
End Sub
[/aside]

この書き方ではExcelの保存名がbook1だった場合、ワークシート2のセルA1に「テスト2」と入力されます。
VBA_ワークブックの指定4

ワークシートは2種類の書き方がある

ワークシートは先ほどのようにシート名をそのまま書く方法もありますが、シートの順番として記述することもできます。

[aside type=”lime”]
Worksheets(“sheet2”)
or
Worksheets(2)
[/aside]

1つ目の書き方は「sheet2」の名称で保存しているシートを指定しており、2つ目の書き方はそのデータの中で2つ目のシートを表しています。

memo

どちらの記述でもメリットとデメリットがある。シートを途中で削除する可能性があるなら1つ目の書き方を行い、シート名が途中で変更される可能性があるなら2つ目の書き方をするなど、メンテナンスを考えてコードを記述する

 

ワークブックを省略した書き方

以下のようにワークブックやワークシート名を省略した場合、アクティブブックのアクティブシートのセルを指定されます。

アクティブとは今開いているもののことを指します。

 

[aside type=”lime”]
Range(“A1”).Value = “テスト”
[/aside]

上記のコード場合、もしsheet3を開いているときにマクロを動かしたらsheet3のセルにテストと入力され、もしsheet2を開いているときにマクロを動かしたらsheet2に入力されるようになります。

ボタンを表示するなど、確実に「今開いているsheet」を指定する場合はシート名やブック名を省略するとコードが短くなって見やすくなる

 

まとめ

今回はExcelのVBAでワークブックを指定して記述する方法について紹介しました。

ワークブックやワークシートの指定を間違えると、思わぬ所で時間がかかってしまい、消したくないデータを消してしまったりします。

基本を知ることで今後の応用にも繋がりますので、是非ワークブックの指定方法を習得しておきましょう。

Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。

仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。

[enclose color=”#8fbc8f”]

【ステップ7へ進む▼▼】
[kanren url=”https://xcelworkblog.com/vba-with/”]
[btn]マクロ・VBAのまとめ記事はこちら[/btn]

[/enclose]

 

以下のExcel記事もおすすめです。

[topic color=”orange” title=”おすすめ記事”]

[/topic]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次