Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで選択シートのインデックス番号を取得する

VBAで選択シートのインデックス番号を取得する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2007 ビルド13029.20344 Microsoft Store)

「VBA 選択されているシート番号」
という検索キーワードでアクセスがありました。

「シート番号」と表現されているのがハッキリしませんが、選択されているシートのインデックス番号を取得するなら、以下のSubプロシージャが参考になるでしょう。

[スポンサードリンク]

選択シートのインデックス番号をするサンプルマクロ

以下の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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで選択シートのインデックス番号を取得する

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで選択シートのインデックス番号を取得する

「Windowオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.