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 に答える