サイトについて      連絡先   検索

VBA Workbook [ワークブック] を取得する

はじめに

Excel VBA の Workbook (ワークブック) を取得する方法を紹介します。

Workbooks プロパティから Workbook を取得できます。

Workbook (ワークブック) を取得する

ワークブック名で取得

Workbooks の引数に名前を指定すると、その Workbook を取得できます。

「Book1.xlsx」の Workbook を取得するには Workbooks("Book1.xls") のように指定します。

Dim wb As Workbook
Set wb = Workbooks("Book1.xlsx") '「Book1.xlsx」の Workbook を取得
Set wb = Workbooks("Book2.xls")  '「Book2.xls」の Workbook を取得
Debug.Print(wb.Name)

指定した Workbook が存在しないときはエラーが発生します。

Workbooks の引数にインデックスを指定しても Workbook を取得できます。

インデックスだと何の Workbook なのかわかりずらいため、ワークブック名で取得するのをオススメします。

Dim wb As Workbook
Set wb = Workbooks(1) ' 1 番目のシートを Workbook を取得
Set wb = Workbooks(2) ' 2 番目のシートを Workbook を取得
Debug.Print(wb.Name)

アクティブな Workbook を取得

アクティブな Workbook を取得するには ActiveWorkbook のように指定します。

Dim wb As Workbook
Set wb = ActiveWorkbook
Debug.Print(wb.Name)

マクロを実行している Workbook を取得

マクロを実行している Workbook を取得するには ThisWorkbook のように指定します。

Dim wb As Workbook
Set wb = ThisWorkbook
Debug.Print(wb.Name)

関連ページ