2016-03-25 38 views
1

我在工作表上有77個表,我只想格式化特定的表。VBA Excel循環通過特定表到格式

當使用特定命名錶執行循環時,我該如何格式化循環?

例如,我想更改表2,表4,表5和表6中的第二列(本例的縮短列表)。

到目前爲止,我有:

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

完美!感謝您的幫助。 –