【VBA】Excelテーブルのデータを配列で取得する
記事更新日:2022-12-01

テーブル内の全部の値を取得する
指定シートの1番目のテーブルの値を取得する
Public Function GetTblData(ByVal ws As Worksheet) As Variant
GetTblData = ws.ListObjects(1).DataBodyRange
End Function

1シート1テーブルを鉄則にする
指定シートの特定のテーブル名の値を取得する
Public Function GetTblDataByName( _
ByVal ws As Worksheet, _
ByVal tblName As String) As Variant
GetTblDataByName = ws.ListObjects(tblName).DataBodyRange
End Function

1シート内にテーブルが複数ある場合は、テーブル名を指定する
テーブル内の特定の列の値のみを取得する
n列目の値を取得する
Public Function GetTblColNumDataByName( _
ByVal ws As Worksheet, _
ByVal tblName As String, _
ByVal n As Long) As Variant
GetTblColNumDataByName = ws.ListObjects(tblName).ListColumns(n).DataBodyRange
End Function
列名を指定して取得する
Public Function GetTblColDataByName( _
ByVal ws As Worksheet, _
ByVal tblName As String, _
ByVal colName As String) As Variant
GetTblColDataByName = ws.ListObjects(tblName).ListColumns(colName).DataBodyRange
End Function
テーブルじゃない場合
関連記事
CLICK
2022-12-01
編集後記:
この記事の内容がベストではないかもしれません。