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
かめぞう
かめぞう
はじめまして。 かめぞうです。ソフトウェア開発会社に勤務する現役エンジニアです。私がエンジニアを続ける中で得た学び、考えを発信しています。リクエストや改善要望など、お気づきの点があればお気軽にご連絡ください。