燈明ブログ

現状は小池啓仁の応援ブログ

EXCELでCSVデータ読み込み時、セルデータ単独『%1』等の場合は?

VBAとかPerlからEXCELCSVデータを読み込むと、すべて文字列で読み込んで欲しいのに、EXCELがいろいろ変換をしてくれます。
通常、変換されるのは、文字列以外の数値、日付、パーセント等のデータです。
この余計なお世話を黙らせるのは、NumberFormatLocalプロパティへ『@』をセットします。


これで、すべて文字列として扱われると思ったら、セルデータ単独の『%1』等は、まだダメで、『0.01』等に変換されるのです。
これを解決するには、『%1』等の文字列を『="%1"』等に置換すると変換されなくなりました。

ちなみに、『1%』等も『0.01』等になるので『="1%"』等に置換する。
あと、頭ゼロ付き等(0031)の場合は、頭ゼロが落ちるので『="0031"』等に置換する。


いまのところ、これですべてだと思いたいです・・・。