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

テーブル内の全部の値を取得する
指定シートの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
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

[VBA]Paste 2D Arrayresize once 【VBA】二次元配列をシートに貼り付け【範囲をリサイズする】 -

[VBA]CSVに書き出す 【VBA】CSVに配列の中身を書き出す|ADODB.Stream -

[VBA]Convert stringto Date 【VBA】文字列を日付型に変える|CDateよりDateSerial -

[VBA]Transpose2D Array 【VBA】配列の縦横変換|WorksheetFunction.Transpose は使わない -

CurrentRegionのデータを配列で取得 【VBA】シートにあるデータを配列に格納する(空白含まない)|CurrentRegion -

[VBA]ClearContentsシート初期化 【VBA】シートの初期化|ClearContentsで値のみ削除