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

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

(2022 年 06 月 15 日公開 / 2022 年 06 月 15 日更新)

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

アクティブなワークシートの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

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。