1

我正在做一个项目,需要检查大量单元格是否满足许多标准。

我已经能够使用下面的代码来检查单元格是否包含数字格式的值。但是,我还需要一种方法来检查单元格是否包含格式化为美国货币的值。

If Not Application.WorksheetFunction.IsNumber(Range(StringColumn & StringRow).Value) Then  
    MsgBox "Test Failed at " & StringColumn & StringRow  
    Exit Sub  
Else: MsgBox "Valid format for cell " & StringColumn & StringRow  
End If

StringColumn 和 StringRow 是提供单元格引用的变量。

感谢您的帮助。谢谢!

4

2 回答 2

3

您还可以使用与以货币或会计格式 开头的公式等效的 =CELL("format",A1)C

MsgBox Left$(Evaluate("CELL(""Format"",A1)"), 1) = "C"
于 2013-01-16T00:38:10.533 回答
2

假设您使用$的是您的货币,您可以试试这个:

Dim strFormat as String

strFormat = Range(StringColumn & StringRow).NumberFormat

If InStr(1,strFormat,"$") = 0 Then  'not a currency format

    MsgBox "Test Failed at " & StringColumn & StringRow  
    Exit Sub  

Else: MsgBox "Valid format for cell " & StringColumn & StringRow  

End If

如果您有其他货币,请将 替换为$您的货币符号。

于 2013-01-15T21:48:17.867 回答