回答編集履歴
3
コメント修正:数値型にする → 通貨型にする
answer
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
If InStr(csvVal, "\") = 1 Then
|
46
46
|
' 先頭が \ マークの場合は一旦 通貨型にして比較
|
47
47
|
|
48
|
-
' ★
|
48
|
+
' ★通貨型にする
|
49
49
|
Dim csvCur As Currency
|
50
50
|
csvCur = CCur(csvVal)
|
51
51
|
|
2
不要な行を削除
answer
CHANGED
@@ -53,7 +53,6 @@
|
|
53
53
|
Dim chk As String: chk = CStr(csvCur)
|
54
54
|
|
55
55
|
' ★比較
|
56
|
-
' Compare = (cellVal = chk)
|
57
56
|
Compare = (cellVal = chk)
|
58
57
|
Else
|
59
58
|
' それ以外の場合はそのまま比較
|
1
エラー処理について言及
answer
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
CSV の値を読み込んだ時に、先頭が ¥ だったら 「CSV の値を通貨型に変換」 してから比較するのはどうですか?
|
2
|
-
|
3
2
|
…と思いましたが、それだとセル側が数値型とかでも一致とみなされますね…
|
4
3
|
|
5
4
|
もし「Cell:数値型 12345」 「CSV:\12,345」の場合に一致としたくないなら、さらにセルの書式設定なども見て判定する必要がありますね。
|
6
|
-
(NumberFormatLocal ですかね)
|
5
|
+
(NumberFormatLocal ですかね)
|
7
6
|
|
7
|
+
あと、"\123a" みたいな値がある場合を考慮するなら、「通貨型への変換に失敗したら、単純に文字列として比較する」みたいな処理も必要ですね。
|
8
|
+
|
9
|
+
|
8
10
|
```vba
|
9
11
|
Sub ボタン1_Click()
|
10
12
|
Call Test
|