VBA ループを作成して、Excel プロジェクト内のすべてのテーブルのサイズを変更します。
テーブル名のリストは「Tlist」名前付き範囲に格納されます
テーブル名が書き込まれている場合、このコードはすべて機能します。
コードは列数のこのループで機能しますが、 x の 2 回目の参照でサイズ変更すると、「添え字が範囲外です」というエラーが発生します。
デバッグで 2 番目の x にカーソルを合わせると、Excel はそれを正しく読み取っているように見えますが、テーブルのサイズを変更することはできません。ループ内のテキストをサポートしていないリスト オブジェクト関数と関係がありますか? または、このループを間違って実行していて、x を別の方法で定義する必要がありますか? どんな助けでも大歓迎です。
Sub RSizeTables()
Dim rr As Integer
Dim cc As Integer
Dim x As Range
Dim £Table As Range
Set £Table = Range("Tlist")
For Each x In £Table
rr = 2
cc = Range(x).Columns.Count
With Sheets("Data").ListObjects(x)
.Resize .Range.Resize(rr, cc)
End With
Next x
End Sub