在excel vba中为特定范围设置自定义数字格式时出现类型不匹配错误

在excel vba中为特定范围设置自定义数字格式时出现类型不匹配错误,vba,excel,Vba,Excel,将自定义数字格式设置为工作表中的特定范围时出错。 我试过许多组合,但找不到确切的解决办法。。 我的代码是: ws1.Range("C2: C" & p).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* " - "??_);_(@_)" 'Number format accounting 如何解决这个问题?设置自定义编号格式时需要注意哪些预防措施?而不是 ws1.Range("C2: C" & p).NumberForma

将自定义数字格式设置为工作表中的特定范围时出错。 我试过许多组合,但找不到确切的解决办法。。 我的代码是:

ws1.Range("C2: C" & p).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* " - "??_);_(@_)" 'Number format accounting
如何解决这个问题?设置自定义编号格式时需要注意哪些预防措施?

而不是

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

注意
-
周围的双引号
,而不是

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

注意
-

周围的双引号
看到您的输入,我假设您已经这样做了:

A.选择具有所需数字格式的单元格

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
看到您的输入,我假设您已经这样做了:

A.选择具有所需数字格式的单元格

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

谢谢你的解决方案。这解决了我在使用VBA在excel中设置自定义会计格式时遇到的问题。感谢您提供的解决方案。这解决了我在使用VBA在excel中设置自定义会计格式时遇到的问题。