在excel vba中为特定范围设置自定义数字格式时输入不匹配错误

时间:2017-08-17 08:59:38

标签: excel vba excel-vba

将自定义数字格式设置为工作表中的特定范围时出错。 我尝试了很多组合但无法找到确切的解决方案.. 我的代码是:

ws1.Range("C2: C" & p).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* " - "??_);_(@_)" 'Number format accounting

如何解决此问题?设置自定义编号时需要注意哪些事项。格式?

2 个答案:

答案 0 :(得分:3)

而不是

ws1.Range("C2: C" & p).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* " - "??_);_(@_)"

ws1.Range("C2: C" & p).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* "" - ""??_);_(@_)"

请注意""附近的双引号-

答案 1 :(得分:1)

看到你的意见,我认为你已经这样做了:

一个。选择具有所需数字格式的单元格。

B中。运行以下代码:

Public Sub TestMe()
    Debug.Print Selection.NumberFormat
End Sub

在即时窗口中查看结果并从那里使用它。

但是,代码应该是这样的:

Public Sub PrintMeUsefulFormat()

    Dim strFormula  As String
    Dim strParenth  As String

    strParenth = """"

    strFormula = Selection.NumberFormat
    strFormula = Replace(strFormula, """", """""")

    strFormula = strParenth & strFormula & strParenth
    Debug.Print strFormula

End Sub