「エクセル アクティブなブックのインデックスを調べる」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
VBAで、アクティブなワークブックのインデックス番号を取得する、プロパティや方法を探していた方でしょう。
アクティブシートのインデックスはIndexプロパティで取得できる
アクティブなブックではなく、アクティブなシートのインデックスを取得するなら、
ActiveSheet.Index
という簡単なコードで、アクティブなシートのインデックス番号が取得できます。
オブジェクトブラウザで確認すると、Worksheetオブジェクトにも
Chartオブジェクトにも
Indexプロパティが存在していることが確認できます。
ところが、オブジェクトブラウザでWorkbookオブジェクトを確認しても、Indexプロパティは見当たりません。
アクティブブックのインデックス番号を取得するサンプル
アクティブなブックのインデックス番号を取得するには、以下のようなコードを利用するしかなさそうです。
Dim i As Long
For i = 1 To Workbooks.Count
If Workbooks(i).Name = ActiveWorkbook.Name Then
MsgBox i
Exit Sub
End If
Next
End Sub
上記のマクロを実行するとアクティブなブックのインデックス番号がメッセージボックスに表示されます。
すべてのブックをFor~Nextループで調べ、
For i = 1 To Workbooks.Count
アクティブなブックと名前が一致したら
If Workbooks(i).Name = ActiveWorkbook.Name Then
メッセージボックスを終了してマクロを終了しています。
MsgBox i
Exit Sub
最終更新日時:2021-09-09 16:11
- Newer:PowerPoint 2010のグリッド設定
- Older:Word2003で縮小表示を非表示に
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » VBAでアクティブブックのインデックス番号を取得する