【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】一次元配列を横方向にシートに貼り付け【範囲をリサイズする】 -
オブジェクト生成のCreateObjectまとめ 【VBA】dictionary・テキストファイル・outlook・Access用にオブジェクトを生成する|CreateObject -
fsoでブックの存在確認 【VBA】ブックの存在確認|fso(FileSystemObject)を使う -
終了のメッセージボックス 【VBA】マクロ終了時のメッセージ|タイム付きmsgbox -
dictionaryをセットする 【VBA】Dictionaryのセット|CreateObject(“Scripting.Dictionary”) -
テーブルの指定位置に行を追加 【VBA】Excelテーブルの指定した位置に行を追加する