銀河鉄道

【VBA】Excelテーブルのデータを配列で取得する

サムネイル
テーブルの値を取得する

テーブル内の全部の値を取得する

指定シートの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

テーブルじゃない場合

関連記事

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧