Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » アクティブブックのインデックス番号を取得するExcelマクロ

アクティブブックのインデックス番号を取得するExcelマクロ

対象:Excel2003, Excel2007, Excel2010

「エクセル アクティブなブックのインデックスを調べる」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)で、アクティブなワークブックのインデックス番号を取得する、プロパティや方法を探していた方でしょう。

アクティブシートのインデックスはIndexプロパティで取得できる

アクティブなブックではなく、アクティブなシートのインデックスを取得するなら、
「ActiveSheet.Index」
という簡単なコードで、アクティブなシートのインデックス番号が取得できます。

オブジェクトブラウザで確認すると、Worksheetオブジェクトにも

アクティブなブックのインデックス番号を取得する

Chartオブジェクトにも

アクティブなブックのインデックス番号を取得する

Indexプロパティが存在していることが確認できます。

[スポンサードリンク]

アクティブブックのインデックス番号を取得するサンプルマクロ

ところが、オブジェクトブラウザでWorkbookオブジェクトを確認しても、Indexプロパティは見当たりません。

アクティブなブックのインデックス番号を取得する

アクティブなブックのインデックス番号を取得するには、以下のようなコードを利用するしかなさそうです。

Sub アクティプなブックのインデックス番号を取得する()

 Dim i As Long
 
 For i = 1 To Workbooks.Count
  If Workbooks(i).Name = ActiveWorkbook.Name Then
   MsgBox i
   Exit Sub
  End If
 Next i

End Sub

上記のマクロを実行するとアクティブなブックのインデックス番号がメッセージボックスに表示されます。

すべてのブックをFor~Nextループで調べ、
 For i = 1 To Workbooks.Count

アクティブなブックと名前が一致したら
  If Workbooks(i).Name = ActiveWorkbook.Name Then

メッセージボックスを終了してマクロを終了しています。
   MsgBox i
   Exit Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » アクティブブックのインデックス番号を取得するExcelマクロ

TrackBack:1

TrackBack URL
アクティブなシートが何枚目かを調べる-ActiveSheet.Index from インストラクターのネタ帳
Excel VBAで、アクティブなシートが何枚目か・インデックス番号を調べるには、ActiveSheet.IndexというコードでOKです。

Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » アクティブブックのインデックス番号を取得するExcelマクロ

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

検索


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

.