こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。皆さんは、VBAでシートをアクティブにする方法を知っていますか?
アクティブにしたシート上で処理をしたいケースはよくあります。そこで今回は、
- Activateメソッドの使い方
- Activateメソッドを使ったサンプルコード
- アクティブシートの操作方法
- アクティブワークブックの操作方法
といったように基礎的なことから応用的な方法まで、徹底的に解説します!
Activateメソッドの使い方
はじめに、Activateメソッドの使い方について解説します。Activateメソッドとは、シートをアクティブにするためのメソッドです。
次のように書くことで、簡単にシートをアクティブにすることができます。
Activateメソッドの書き方:
ワークシート.Activate
ワークシートはシート番号または、シート名で指定できます。
シート名の指定方法:
Worksheets(1).Activate
Worksheets("Sheet1").Activate
このように、簡単にシートをアクティブにすることができます。
Activateメソッドを使ったサンプルコード
次に、サンプルコードをもとに、具体的な使い方について解説します。シートをアクティブにしたあと、セルに値を書き込むサンプルコードを用意しました。
実行前のシート:

サンプルコード:
Sub Test()
'Sheet2をアクティブに変更
Worksheets("Sheet2").Activate
'アクティブシートに値を書き込む
ActiveSheet.Range("A1").Value = "侍エンジニア"
End Sub
実行結果:

このように、簡単にアクティブにしたシートに対して処理を書くことができます。
ちなみに、Rangeメソッドの使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!
アクティブシートの操作方法
サンプルで解説したセルに値書き込む方法以外にも、シートの追加・データのコピー・行の追加・データ削除などシート操作方法はいろいろありますよね。
「シートをアクティブにする方法はわかったけど、アクティブシートの具体的な操作方法が知りたいな・・・」というのが本音なのではないでしょうか。そんな方向けにアクティブシートの操作方法を以下でまとめているので、気になる方は見てみてくださいね!
アクティブワークブックの操作方法
ここまでActivateメソッドを使ってシートをアクティブにする方法を解説してきましたが、複数のブックを使った処理でブックをアクティブにしたいケースもありますよね。
Activateメソッドはブックをアクティブにすることもできるので、合わせて覚えておくと便利です!
ブックをアクティブにする方法:
Workbooks("ブック名").Activate
ブックをアクティブにするサンプルは、以下のとおりです。
フォルダ構成:

サンプルコード:
Sub Test2()
'ブックを3つ開く
Workbooks.Open ThisWorkbook.Path & "Test1.xlsx"
Workbooks.Open ThisWorkbook.Path & "Test2.xlsx"
Workbooks.Open ThisWorkbook.Path & "Test3.xlsx"
'ブックを変数に格納
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim wb3 As Workbook
Set wb1 = Workbooks("Test1.xlsx")
Set wb2 = Workbooks("Test2.xlsx")
Set wb3 = Workbooks("Test3.xlsx")
'Test1.xlsxをアクティブ化
wb1.Activate
'アクティブになっているブック名を確認
MsgBox "現在アクティブなブック名:" & ActiveWorkbook.Name
'ブックを閉じる
Application.DisplayAlerts = False
wb1.Close
wb2.Close
wb3.Close
Application.DisplayAlerts = True
End Sub
実行結果:

「Test1.xlsx」「Test2.xlsx」「Test3.xlsx」の3つのファイルをOpenメソッドで開いてから、「wb1」「wb2」「wb3」の変数にそれぞれ格納し、wb1.Activateで「Test1.xlsx」をアクティブにし、「ActiveWorkbook.Name」でアクティブになっているブック名を表示するサンプルです。
このように、簡単にブックをアクティブにすることができます。
今回サンプルに使ったOpenメソッドを含め、ワークブックの操作に関しては以下で詳しく解説しているので、気になる方は見てみてくださいね!
まとめ
今回は、Activateメソッドの使い方について解説しました。シート・ブックをアクティブにして処理をしたいケースはよくあります。
使い方も簡単なので、ぜひ使ってみてくださいね!






