はじめに
エクセルVBAで、テーブル名でテーブルを取得する方法をご紹介します。
方法
テーブルは、VBAではListObjectというデータ型で定義されています。
その為、ブックとシートをforeachで回して、名前が一致したら、テーブルを返せば良いです。
Public Function FindTable(ByVal TableName As String)
Dim Result As ListObject
Dim Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
Dim tbl As ListObject
For Each tbl In Ws.ListObjects
If (tbl.Name = TableName) Then
Set Result = tbl
GoTo BREAK
End If
Next
Next
BREAK:
Set FindTable = Result
End Functionまとめ
- テーブルはVBAではListObjectというデータ型。
- ブックとシートをforeachで回して名前一致を探す。



コメント