「VBA Access Excel シート名 一覧」
といった検索キーワードでアクセスがありました。
Access VBAを使ってExcelのシート名一覧を取得するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。
この記事では、開いているExcelブックのシート名一覧をイミディエイトウィンドウに作成するサンプルをご紹介します。
Excelのシート名一覧を取得するサンプルプロシージャ
Excelブックを1つ開いた状態で以下のSubプロシージャを実行すると、そのブックのシート名一覧がイミディエイトウィンドウに出力されます。
On Error GoTo ErrHandl
With GetObject(Class:="Excel.Application")
Dim xl_sht As Object
For Each xl_sht In .Sheets
Debug.Print xl_sht.Name
Next
End With
Exit SubErrHandl:
Select Case Err.Number
Case 429
MsgBox "Excelが起動していないようです。"
Case 91
MsgBox "Excelファイルが開かれていないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
サンプルプロシージャで行っている処理
Access VBAからExcelを操作するには、まずExcelライブラリのApplicationオブジェクトへの参照を取得する必要があります。
上記のSubプロシージャでは、VBAのGetObject関数の引数Classに文字列「Excel.Application」を指定することで、起動しているExcelへの参照を取得しています。
With GetObject(Class:="Excel.Application")
Excel.Applicationへの参照を取得した後は、実質的にExcel VBAのコードです。
本当のExcel VBAであれば、Dim xl_sht As Object For Each xl_sht In Sheets Debug.Print xl_sht.Name Next
でアクティブなブックの全シート名がイミディエイトウィンドウに出力されます。
上記のSubプロシージャはほとんど同じですが、以下の行の「In .Sheets」の「.」を忘れてはいけないことに注意が必要です。
For Each xl_sht In .Sheets
- Newer:Wordの画面が拡大できない?ズームアップできない?
- Older:Canvaでデザインのサイズを確認する方法
Home » Access VBA » Access VBAでExcelのシート名一覧を取得する