Excel VBA

【Excel VBA入門】Excelのセルを参照する方法

本記事の内容

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に詳しくなりたい方におすすめの書籍はこちら

 

 

ABOUT ME
かめぞう
はじめまして。 かめぞうです。組込ソフトウェア開発会社に勤務する現役エンジニアをしています。私が買ってよかったもの、人生設計、サラリーマン生活についてなど、テーマを絞らず発信しています。リクエストや改善要望など、お気軽にご連絡ください。