【VBA】CSV読み込み。カンマを含む文字データをsplitで分割する。

VBA

CSVの文字データにカンマが含まれる場合

1,”カンマ,を含む文字”

これをVBAで読み込もうとする場合、Splitで単純にカンマ分割するとこんな感じの分割になってしまいます。

1列目:1
2列目:”カンマ
3列目:を含む文字”

これをSplitで何とかやろうとする場合のサンプル。

実行結果がこちら。

testdata.csv
1,”テスト1行目”
2,”テスト,2行目”
出力結果
1行目 1列目 : 1
1行目 2列目 : テスト1行目
2行目 1列目 : 2
2行目 2列目 : テスト,2行目

ちなみに上記サンプルコードは、下記に書き換えることもできます(書き方が適当なので、少し汎用性が無くなりますが・・)。

Line Inputで行を抜き出さなくてもInputで値を抜き出せば、文字データに含まれるカンマもちゃんと文字として扱ってくれるようです。タブ区切りもこれでイケるみたいですね。

コメント

タイトルとURLをコピーしました