本記事の内容
Excel VBAにて特定のセルを参照する方法をご紹介
→ Workbook / Worksheet / Range を使用して参照する
こんな方におすすめ
- ExcelでVBAマクロで特定のセルの値を参照したい方
- VBA初心者の方
Workbook / Worksheet / Range とは?
Workbook / Worksheet / Range とは、
Excelの構成要素にアクセスするためのオブジェクト
です。
Excelでは下記のオブジェクトが定義されています。
オブジェクト名 | アクセスできる要素 |
Workbook | エクセルのブック |
Worksheet | エクセルのシート |
Range | エクセルのセル |
上記のオブジェクトを用いることで、VBAのコード内でセルの内容にアクセスすることが可能となります。
オブジェクトを用いてセルにアクセスする
オブジェクトにアクセスするには下記のように記載します。
Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”)
上記の場合、
“Book1.xlsm”というエクセルのブック(ファイル)の
“Sheet1″というシートの
“A1″セル
にアクセスすることになります。
“Book1.xlsm”ブックの”Sheet1″シートの”A1″セルの値を
“Book2.xlsm”ブックの”Sheet2″シートの”B1″セルにコピーする場合、
下記のように記載します。
Sub sample()
Dim book1_A1 As Range
Dim book2_B2 As Range
'Book1.xlsmのSheet1シートのA1セルを変数に代入
'オブジェクトの代入には先頭に"Set"をつける必要がある
Set book1_A1 = Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")
'Book2.xlsmのSheet2シートのB2セルを変数に代入
'オブジェクトの代入には先頭に"Set"をつける必要がある
Set book2_B2 = Workbooks("Book2.xlsm").Worksheets("Sheet2").Range("B2")
'Book2.xlsmのSheet2シートのB2セルの値にBook1.xlsmのSheet1シートのA1セルの値を代入
'Valueはセルの値を示す要素
book2_B2.Value = book1_A1.Value
End Sub
マクロ実行前と実行後のExcel画面は下記の通りです。
<マクロ実行前(Book1.xlsm)>

<マクロ実行後(Book2.xlsm)>

以上がExcel VBAにて特定のセルを参照する方法になります。
ここまでご覧いただきありがとうございました。
初心者におすすめの書籍はこちら
VBAに詳しくなりたい方におすすめの書籍はこちら