目標
ExcelVBAのActiveSheetプロパティを理解して操作できる
ExcelVBAではプロパティを知るとかなり多くの処理を自動で行わせることができます。加えて、VBAのプログラミング学習では変数や制御構造を学ぶ前にいろいろな設定を経験すると制御構造や様々なデータ構造の学習に入ったときに、オブジェクトやプロパティについて悩まなくてもよくなるので学習効率が良くなります。
ExcelVBAでよく使う「9つのプロパティ」
プロパティ(アルファベット順) |
ActiveSheet ※今回の記事で扱うプロパティです。 |
ActiveCell |
Cells |
End |
Offset |
Range |
Sheets |
Value |
Worksheets |
ActiveSheetプロパティの概要と利用方法
ActiveSheetプロパティとは
作業中のブックの一番手前のシートを取得してVBAで操作可能にします。
ActiveSheetプロパティの利用方法
Excelの準備
Excelでシートを追加して「Sheet2」の名前を「sample1」に変更します。
使い方のパターンを確認
❶ ActiveSheetプロパティでシートを操作する時は必ず事前に、
予めシートを選択するか
Worksheets(“sample1”).Select
アクティブにします。
Worksheets(“sample1”).Activate
❷ 続いてActiveSheetプロパティを利用します。
例:アクティブなシートのアクティブなセルへの文字列の入力
ActiveSheet.Range(“A1”).Value = “文字列”
ActiveSheetプロパティの「Previous」と「Next」
ActiveSheetを「右隣のシート」や「左隣のシート」に変更する時に使用します。
アクティブなシートから1つ左のシートをアクティブにする時。
ActiveSheet.Previous.Select
アクティブなシートから1つ右のシートをアクティブにする時。
ActiveSheet.Next.Select
サンプルプロシージャ
Option Explicit
Sub practiceAS()
'事前に予めシートを選択するかアクティブにします。
Worksheets("sample1").Select
'######ここはコメントにしています#####
'アクティブにする場合
'Worksheets("sample1").Activate
'######ここはコメントにしています#####
ActiveSheet.Range("A1").Value = "ここはシートsample1のセルA1である"
MsgBox "1つ左は" & ActiveSheet.Previous.Name
MsgBox "1つ右は" & ActiveSheet.Next.Name
MsgBox "シートは左から" & ActiveSheet.Index & "番目です"
ActiveSheet.Previous.Select
End Sub
実行結果
プログラムの動きを示すと以下のようになっています。
sample1のシートを選択してアクティブシートに指定します。
Worksheets(“sample1”).Select
‘######ここはコメントにしています#####
‘Worksheets(“sample1”).Activate
‘######ここはコメントにしています#####
アクティブシートとなった「sample1」のセルA1に「ここはsample1.xlsmのセルA1である 」が入力される
ActiveSheet.Range(“A1”).Value = “ここはシートsample1のセルA1である”
次にメッセージボックスでsample1のシートの左側のシート名が表示される
MsgBox “1つ左は” & ActiveSheet.Previous.Name
メッセージボックスの「OK」を押下すると2つ目のメッセージボックスでsample1のシートの右側のシート名が表示される
MsgBox “1つ右は” & ActiveSheet.Next.Name
先ほど同様にメッセージボックスの「OK」を押下すると3つ目のメッセージボックスが現れてアクティブシートが左から2番目であることが表示される。
MsgBox “シートは左から” & ActiveSheet.Index & “番目です”
更に続けてメッセージボックスの「OK」を押下すると現在のアクティブシート(sample1)から1つ左のSheet1をアクティブシートに変更されています。
ActiveSheet.Previous.Select
ActiveSheetプロパティはアクティブなシートに対して様々な設定を行うための便利なプロパティです。アクティブなシートの任意のセルに文字列を入力するだけでなく、セルの値を取得するなど色々な場面で使用されます。
今回の内容は以上です。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。