vba 为 table 列应用格式

vba applying format for table column

我正在尝试将货币格式应用于 table 中的特定列。 我正在尝试 2 个选项:

Sheet1.ListObjects("MyTaqble").ListColumns("Balance").Style = "Currency"

并且:

Sheet1.ListObjects("MyTaqble").ListColumns("Balance").NumberFormat = _
    "_([$€-x-euro2] * #,##0.00_);_([$€-x-euro2] * (#,##0.00);_([$€-x-euro2] * ""-""??_);_(@_)"

对于这两个,我都收到以下错误: 对象不支持此 属性 或方法

将格式应用于 table 列的正确方法是什么?

据我了解,您想做这样的事情

Sub FormatIt()
Dim v As ListColumn
    Set v = Sheet1.ListObjects("MyTaqble").ListColumns("Balance")
    v.Range.Style = "Currency"
End Sub

Sub FormatItA()
Dim v As ListColumn
    Set v = Sheet1.ListObjects("MyTaqble").ListColumns("Balance")
    v.Range.NumberFormat = _
    "_([$€-x-euro2] * #,##0.00_);_([$€-x-euro2] * (#,##0.00);_([$€-x-euro2] * ""-""??_);_(@_)"
End Sub

你很接近。您需要将样式(或数字格式)应用于 ListColumns 对象的 Range 属性。

所以:

Sheet1.ListObjects("Table1").ListColumns("Balance").Range.Style = "Currency"