質問: (イコール)で始まるセルの値を取得する方法について教えてください。 エクセルvbaでcsvファイルを取り込み(現状手でコピー)→mysqlに挿入というプログラムを実装しています。 その中で、csvファイル(もしくはタブ区切りテキストファイル)の中に、+ (プラス記号)で始まるデータがありました。 エクセルで開いた場合、+が =+に変換されてしまい、#name? となってしまいました。 このセルに対してvalueを取得すると、型が一致しません。のエラーが出ます。 取り込んだ時点でvalueが取得できないため、値を変換しようにもできません。 もし、良い方法が思いつく方がいらっしゃれば教えていただけませんでしょうか。 以上、よろしくお願いいたします。
回答: 他に『=』文字が使われてなければ「置換」で消してしまっても良いかと思います。 あるいは『=+』を『+』、『=-』を『-』に置換するとか。 でも、 >エクセルvbaでcsvファイルを取り込み(現状手でコピー) これは、csvファイルをそのまま新規bookとして開いて、データ範囲をコピーしているという意味でしょうか。 別の手法として、外部データの取り込み]機能を使えば、既存シートにデータ取り込みができます。 まずは手作業でやって、マクロ記録してみてください。 querytablesオブジェクトを用いた参考コードが得られます。 2003の場合、[データ]-[外部データの取り込み]-[データの取り込み... 2007の場合、[データ]-[外部データの取り込み]-[テキストファイル]... ここから[テキストファイルウィザード]が開きます。 区切り文字を指定して、[テキストファイルウィザード - 3/3 ]のウィンドウで列のデータ形式を選択できます。 この時、全て『文字列』で読み込めば数式変換はされません。