※ ChatGPTを利用し、要約された質問です(原文:Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ)
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換されて困っています
このQ&Aのポイント
Excel VBAでCSVファイルを読み込む際に、文字列が日付に変換されてしまう問題に困っています。
具体的な状況として、CSVデータには住所情報があり、別のCSVにデータを移す処理を行っています。
通常は文字列をそのまま移すだけの作業ですが、特定の文字列が日付に変換され、問題が発生しています。修正方法がわからず困っています。
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換されて困っています。
すごく困っております。どなたか教えて下さい。
状況を申し上げますと、以下のようなCSVデータがあります。
"住所1","住所2"
"東京都港区青山","1-24-11"
このとき、別なCSVにデータを移すという単純なものです。
通常は、
WsCount.Cells(1, 1).Value =Cells(2,1).value
WsCount.Cells(1, 2).Value =Cells(2,2).value
で、セルにある文字をそのまま、新しいシートのセルに移すだけのことですが、
何故か、"1-24-11"が日付に変換され、"2011/1/24"に変わってしまいます。
デバックなどで、途中経過を見ても既に日付にかわっており、
どうにも対応ができません。
以前は""で囲んである文字は、文字のまま認識していたと思いますが、
何故か今回はうまくいきません。
ちなみに、Excel2007です。
どなたか、教えて下さい。
宜しくお願いします。
お礼
zap35様、m_and_dmp様、MARU4812様 色々とご助言頂きありがとうございました。 できました。 結局、zap35様のご回答がきっかけとなり、以下のような処理を実行しました。 元CSVファイルをxls形式に読込むときに文字データとしてセルを.NumberFormatLocal = ”@”で 読込みます。(最初は元CSVファイルを直接開く方法で実施していました) その後、判定加工処理をして得られた結果を別なワークシートにやはり.NumberFormatLocal = ”@”を 利用して書き出します。 その後、ワークシートをCSV形式で出力保存させるというやり方です。 この方法で、住所の"1-2-3"や電話番号の"03-XXXX-XXXX"や日付を"2010-10-01 12:34:56"なども全て正常に処理できました。 ちなみに参考になったサイトです。 http://homepage2.nifty.com/e-ka/win32/index.htm とても参考になりました。ありがとうございます。 色々とお騒がせいたしました。 ありがとうございました。