ActiveSheet
にメンテナンス済み
VBA を活用する最も一般的なシチュエーションの一つに、ワークシートの操作があります。
Excel の特定のシートから情報を取得したり、計算結果をシートに出力したりするためには、まず対象のシートを取得する必要があります。
VBA にはシートを取得する方法が複数用意されていますが、今回はその中でもActiveSheet
プロパティを使った方法について解説します。
ActiveSheetを使用する際の注意
ActiveSheet
プロパティは、シートを取得する方法として一般的であり、実際に多くの場面で利用されています。
ただ、ActiveSheet
プロパティは、現在アクティブなシートを取得するためのプロパティであるため、コードが実行されるタイミングによっては、意図しないシートが取得される可能性があります。
そのため、可能な限り他の方法を使ってシートを取得することをお勧めします。
ActiveSheet プロパティの使い方
ActiveSheet
プロパティは、現在アクティブなシートを取得するためのプロパティです。
一般的な使い方は、以下のようになります。
ActiveSheetの使い方
Dim ws As Worksheet
Set ws = ActiveSheet
MsgBox ws.Name
上記のコードを実行すると、現在アクティブなシートの名前がメッセージボックスに表示されます。
ActiveSheet
プロパティはApplication
クラスのプロパティであるため、コード中でActiveSheet
と記述するだけで取得することができ、非常に簡単にシートを取得することができます。
変数に代入する場合は、Worksheet
型の変数を用意し、Set
ステートメントを使って代入します。
具体例
現在アクティブなシートを印刷する
現在アクティブなシートを印刷する
Private Sub PrintActiveSheet()
ActiveSheet.PrintOut
End Sub
現在アクティブなシートのセルに値を入力する
現在アクティブなシートのセルに値を入力する
Private Sub InputValueToActiveSheet()
' 現在日時を取得
Dim now As Date
now = Now
' 現在アクティブなシートのA1セルに現在日時を入力
ActiveSheet.Range("A1").Value = now
End Sub
#vba
#Excelの操作
#activesheet
#シート
#ワークシート