Excel 选择数字格式的大小写

Excel 选择数字格式的大小写,excel,vba,Excel,Vba,执行以下代码以对选定单元格范围应用适当的数字格式时出现问题。第一个case语句上不断出现类型不匹配错误。我相信这是一个简单的错误-一些建议将不胜感激 Dim cell As Range For Each cell In Selection Select Case cell.NumberFormat Case "$#,##0.0_);($#,##0.0);"" - -""_);@_)": cell.NumberFormat = "#,##0.0_);(#,##0.0);"" - -""_);@

执行以下代码以对选定单元格范围应用适当的数字格式时出现问题。第一个case语句上不断出现类型不匹配错误。我相信这是一个简单的错误-一些建议将不胜感激

Dim cell As Range
For Each cell In Selection
Select Case cell.NumberFormat

Case "$#,##0.0_);($#,##0.0);"" - -""_);@_)":

cell.NumberFormat = "#,##0.0_);(#,##0.0);"" - -""_);@_)"

以下是如何使其正确运行:

Sub TestMe()

    Dim myCell As Range
    For Each myCell In Worksheets(1).Range("A1:A3")
        'Debug.Print myCell.NumberFormat
        Select Case myCell.NumberFormat
            Case Is = "#,##0.00_);(#,##0.00)":
                Debug.Print "some number"
            Case Else
                Debug.Print myCell.NumberFormat
        End Select
    Next

End Sub
棘手的部分是准确的数字格式。要执行此操作,请在Excel单元格中设置格式,选择单元格并在即时窗口中写入
?Selection.NumberFormat
。然后复制它并将其放在
之间:


我猜是“--“。这已被修复-但格式在执行时未被主动更改。是的,您需要在字符串中双引号。你能用当前的固定密码回答你的问题吗?@BigBen编辑。关于为什么数字格式在执行时不会更改的任何线索?原始数字格式和新数字格式有什么区别?没有美元符号。@PGSystemTester-Camtasia。@PGSystemTester是另一个选项。