2016-03-25 34 views
1

ワークシートに77の表があり、特定の表のみを書式化する必要があります。VBA Excelのループによる特定の表の書式設定

特定の名前付きテーブルでループを実行するとき、どのようにループをフォーマットする必要がありますか?

例として、表2、表4、表5、表6(この例では短縮リスト)の2番目の列を変更したいとします。

は、これまでのところ私は持っています。エラーで

For Table2, Table4, Table 5 In ws.ListObjects 

は次

ws.ListObjects("Table").ListColumns(2).DataBodyRange.Style = "Comma" 
ws.ListObjects("Table").ListColumns(2).DataBodyRange.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)" 

Next 

On Error GoTo 0 

これを解決する方法上の任意の提案を再開しますか?

答えて

0
Sub test() 
Dim AllTableNames As String 
Dim TableNames As Variant 
Dim ws As Worksheet 
Dim i As Long 

Set ws = ActiveSheet 
AllTableNames = "Table2,Table4,Table5,Table6" 
TableNames = Split(AllTableNames, ",") 

For i = LBound(TableNames) To UBound(TableNames) 
    ws.ListObjects(TableNames(i)).ListColumns(2).DataBodyRange.Style = "Comma" 
    ws.ListObjects(TableNames(i)).ListColumns(2).DataBodyRange.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)" 
Next i 
End Sub 
+1

パーフェクト!お手伝いありがとう。 –

関連する問題