「VBA 選択されているシート番号」
という検索キーワードでアクセスがありました。
「シート番号」と表現されているのがハッキリしませんが、選択されている複数シートのインデックス番号(何枚目かを表す番号)を取得するなら、以下のSubプロシージャが参考になるでしょう。
選択されているシートのインデックス番号をするサンプル
以下のSubプロシージャを実行すると、アクティブブックの、選択されているシートのインデックス番号が、イミディエイトウィンドウに出力されます。
Dim sh As Object
For Each sh In ActiveWindow.SelectedSheets
Debug.Print sh.Index
Next
End Sub
サンプルマクロで行っている処理について
選択されているシートを表すコレクションは、Windowオブジェクトに用意されているSelectedSheetsプロパティで取得できます。
ActiveWindow.SelectedSheetsで取得したコレクションに対してFor Each~Nextループを回して、
For Each sh In ActiveWindow.SelectedSheets
Indexプロパティで取得したインデックス番号を、イミディエイトウィンドウに出力しています。
Debug.Print sh.Index
ワークシートだけでなく、グラフシートも選択されている可能性がありますから、For Each~Next文で利用するオブジェクト変数は総称オブジェクト型で宣言しています。
Dim sh As Object
選択されている複数シートの場合は上述のとおりループ処理が必要ですが、アクティブシートの場合はActiveSheet.IndexだけでOKです。
最終更新日時:2021-09-04 09:51
- Newer:WholeStory後にCopyを
- Older:Word VBAで表の中の表のデータを取得する
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで選択されているシートのインデックス番号(何枚目か)を取得する