質問編集履歴
2
タイトルの補足
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Excelで\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
|
1
|
+
Excelでcsvの\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
|
body
CHANGED
File without changes
|
1
直接の原因となっている部分が判明したため、質問の要点を変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Excel
|
1
|
+
Excelで\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
|
body
CHANGED
@@ -21,22 +21,24 @@
|
|
21
21
|
判定されてコピペされてしまいます。
|
22
22
|
|
23
23
|
●確認したこと:
|
24
|
-
|
24
|
+
セルの内容を数式バーで確認してみると、今まで手動でコピペしていた部分は金額欄が
|
25
25
|
下記のように数字になっており、形式は「通貨」になっています。
|
26
|
+
該当csvをダブルクリックでExcelから開いても同様です。
|
26
27
|
|
27
28
|
494640
|
28
29
|
|
29
|
-
今回VBAで
|
30
|
+
今回VBAで開いたcsvファイルは、「Workbooks.Open Filename:=」コマンドで開いた時点で、
|
30
|
-
カンマ付きの文字列として
|
31
|
+
下記のように数式バーでバックスラッシュ記号とカンマ付きの文字列として扱われています。
|
31
32
|
|
32
33
|
\300,321 ←\はバックスラッシュ
|
33
34
|
|
34
|
-
おそらくExcelの仕様だと思うのですが、
|
35
|
+
おそらくExcelの仕様だと思うのですが、ダブルクリックでcsvファイルを開いた時と、
|
36
|
+
「Workbooks.Open Filename:=」コマンドでcsvファイルを開いた時とで
|
35
|
-
|
37
|
+
金額部分のセルの表示が変わってしまっているようです。
|
36
38
|
|
37
|
-
csvファイルをそのままExcelで開くと金額部分の数式バーは「300321」のような
|
38
|
-
|
39
|
+
これが原因で、過去に手動でコピペしたセルとVBAで開いたcsvのセルが一致しないと判定されてしまうようです。
|
39
40
|
|
41
|
+
|
40
42
|
●実際のコード:
|
41
43
|
コピペは下記のコードで実施しました。
|
42
44
|
|
@@ -90,6 +92,5 @@
|
|
90
92
|
|
91
93
|
|
92
94
|
|
93
|
-
VBA上で
|
95
|
+
VBA上でcsvファイルを開くとき、ファイルをダブルクリックで開いた時と同じ値になるように
|
94
|
-
|
96
|
+
処理することはできますでしょうか?
|
95
|
-
また、手動でコピペしたときと同じ挙動になるようにコピー&ペーストする方法を教えてください。
|