2016-08-17 11 views
0

私は同等のテキスト/文字列と比較したい$ 4,250.00のような通貨値のリストを1つのワークシートに持っています。例えば別のワークシートの "$ 4,250"。 InStrの比較の前に通貨の値をテキストに変換すると、 "$"と "、"が失われて "4250"となり、比較が偽になります。通貨の価値をテキストに変換し、フォーマットを失わない方法はありますか?VBA通​​貨換算テキスト

おかげ

+0

これは、値の比較について非常に誤りがちな方法のようです。数値を数値として扱うことを検討してください。ワークシート上の文字列表現は、基礎となる数値とは関係ありません。例えば'If​​ CCur(cellValue1)= CCur(cellValue2)Then'はロケールに依存せず、はるかに信頼性が高くなります。 –

答えて

2

数値は、例えば、Format(value, "Currency")を使用してVBAの通貨にフォーマットすることができますFormat(Range("A1").Value, "Currency")

また、の文字列には$4,250.00という文字列が、A1に4250が含まれ、標準通貨形式でフォーマットされていると、文字列が返されます。

Excel自体では、=TEXT(A1,"$#,##0.00")などの式を使用することをおすすめします。

+0

Range( "A1")のように見えます。テキストは必要な形式になります。ありがとうございました!! – Bob

+0

あなたの質問に基づいて、 'Range(" A1 ")。Text'は' Format(Range( "A1")。Value、 "$#、## 0" '$ 4,250.00'を与えてください。これはcyboashuへのコメントで指定したサンプル文字列には表示されませんが、特に" $#、## 0 "と書式設定すると、サンプル文字列に表示される$ 4,250が与えられます。 – YowE3K