テーブルをVBAで操作するなら
ListObjectを使うようです。
値の更新だけでなく、書式の変更やヘッダ情報取得、集計情報などを除くデータ部分のみ取得など、様々な操作が可能だとか。
テーブルが存在するか確認しよう
この確認をせずにコードを実行してListObjectが見当たらない旨のエラーが出たことにより、原因不明で暫く困惑していました。
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
' 面倒ですがシートも指定しないといけません。
If TableExists(ws, "テーブル名") Then
MsgBox "テーブルは存在します"
Else
MsgBox "テーブルが見つかりません"
End If
' シート内にそもそもテーブルが存在するかを判定する場合
If ActiveSheet.ListObjects.Count = 0 Then Exit Sub テーブルの操作準備
この確認をせずにコードを実行してListObjectが見当たらない旨のエラーが出たことにより、原因不明で暫く困惑していました。
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet2")
Set tbl = ws.ListObjects("テーブル名") 行・列単位のデータクリア
3列目のデータをまるごと空にする例を示しています。
with ActiveSheet
.Cells(1, 1).ListObject.ListColumns(3).DataBodyRange.ClearContents
end with