アクティブシートのオブジェクトの取得

ワークシートのオブジェクトを取得するには、インデックス番号を指定するかワークシート名を指定して Worksheet オブジェクトを取得していましたが、取得する Worksheet オブジェクトを指定する方法として、現在アクティブになっているワークシートと指定することが出来ます。ここでは Excel VBA を使ってアクティブシートのオブジェクトを取得する方法を解説します。

(Last modified: )

アクティブシートのオブジェクトの取得

アクティブなワークシートのWorksheetオブジェクトを取得するには、Applicationオブジェクト、Windowオブジェクト、又はWorkbookオブジェクトの「ActiveSheet」プロパティを使います。

Dim ワークシート As Worksheet

Set ワークシート = オブジェクト.ActiveSheet

オブジェクトを省略した場合には、現在作業しているワークブックが対象となります。

具体的な記述方法は次のようになります。

Dim sheet1 As Worksheet

Set sheet1 = ActiveSheet

サンプルプログラム

では簡単なサンプルで試してみましょう。

Sub テスト()

    Dim sheet1 As Worksheet
    
    Worksheets(2).Activate
    
    Set sheet1 = ActiveSheet
    sheet1.Range("A2").Value = "Active"

End Sub

上記マクロを実行すると次のようになります。

アクティブシートの取得

今回はまず左から数えて2番目のシートがアクティブにした後で、アクティブシートの中にあるセルに対して値を設定しました。

-- --

xcel VBA を使ってアクティブシートのオブジェクトを取得する方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。