スライドショースライドショー

【ExcelVBA】シートをアクティブ化するActivateメソッドの使い方とは?

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。皆さんは、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メソッドの使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【VBA入門】Rangeでセルの範囲指定(Cellsとの使い分けも解説)
更新日 : 2019年9月26日

アクティブシートの操作方法

サンプルで解説したセルに値書き込む方法以外にも、シートの追加・データのコピー・行の追加・データ削除などシート操作方法はいろいろありますよね。

「シートをアクティブにする方法はわかったけど、アクティブシートの具体的な操作方法が知りたいな・・・」というのが本音なのではないでしょうか。そんな方向けにアクティブシートの操作方法を以下でまとめているので、気になる方は見てみてくださいね!

【ExcelVBA入門】アクティブシートの取得・操作方法について徹底解説!
更新日 : 2019年4月22日

アクティブワークブックの操作方法

ここまで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メソッドを含め、ワークブックの操作に関しては以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】ワークブック操作する方法について徹底解説!
更新日 : 2019年8月28日

まとめ

今回は、Activateメソッドの使い方について解説しました。シート・ブックをアクティブにして処理をしたいケースはよくあります。

使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説