質問編集履歴

2

タイトルの補足

2017/02/08 02:49

投稿

ot2os
ot2os

スコア23

test CHANGED
@@ -1 +1 @@
1
- Excelで\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
1
+ Excelでcsvの\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
test CHANGED
File without changes

1

直接の原因となっている部分が判明したため、質問の要点を変更

2017/02/08 02:49

投稿

ot2os
ot2os

スコア23

test CHANGED
@@ -1 +1 @@
1
- ExcelのVBA\マーク付きの金額欄が通貨として扱われたり文字列として扱われたりす
1
+ Excelで\マーク付きの金額欄が通貨として扱われるが、VBAで開くと文字列として扱われる
test CHANGED
@@ -44,9 +44,11 @@
44
44
 
45
45
  ●確認したこと:
46
46
 
47
- コピペしたセルの内容を数式バーで確認してみると、今まで手動でコピペしていた部分は金額欄が
47
+ セルの内容を数式バーで確認してみると、今まで手動でコピペしていた部分は金額欄が
48
48
 
49
49
  下記のように数字になっており、形式は「通貨」になっています。
50
+
51
+ 該当csvをダブルクリックでExcelから開いても同様です。
50
52
 
51
53
 
52
54
 
@@ -54,9 +56,9 @@
54
56
 
55
57
 
56
58
 
57
- 今回VBAでコピペし部分下記のように数式バーはバックスラッシュ記号と
59
+ 今回VBAで開いcsvファイルは、「Workbooks.Open Filename:=」コマンド開いた時点で、
58
60
 
59
- カンマ付きの文字列として張り付いています。
61
+ 下記のように数式バーでバックスラッシュ記号とカンマ付きの文字列として扱われています。
60
62
 
61
63
 
62
64
 
@@ -64,15 +66,17 @@
64
66
 
65
67
 
66
68
 
67
- おそらくExcelの仕様だと思うのですが、手動コピペしたときとVBAのPasteSpecialコマンドとで
69
+ おそらくExcelの仕様だと思うのですが、ダブルクリックcsvファイルを開いと、
68
70
 
71
+ 「Workbooks.Open Filename:=」コマンドでcsvファイルを開いた時とで
72
+
69
- コピペしたときのセルの形式が変わってしまようです。
73
+ 金額部分のセルの表示が変わってしまっているようです。
70
74
 
71
75
 
72
76
 
73
- csvファイをそのまExcelで開くと金額部分の数式バーは「300321」のよう
77
+ これが原因で、過去に手動でコピペしたセルとVBAで開いたcsvのセが一致しないと判定されてしようです。
74
78
 
75
- 数字で表示されていますが、VBAのIf分でイコール判定すると、別物(\300,321)と判定されるようです。
79
+
76
80
 
77
81
 
78
82
 
@@ -182,8 +186,6 @@
182
186
 
183
187
 
184
188
 
185
- VBA上でこのような通貨記号を含むcsvファイルを、Excel数式バー上の表示らない形式で
189
+ VBA上でcsvファイルを開くときファイルをダブルクリックで開いた時同じ値にるように
186
190
 
187
- 値を取り出し、If文等の比較がきるよにしたいです。
191
+ 処理することはきますしょか?
188
-
189
- また、手動でコピペしたときと同じ挙動になるようにコピー&ペーストする方法を教えてください。