CSV IMPORT(CSVデータ取込)
CSVデータ取込を作成した理由
ネット上でCSVデータ取込のVBAのサンプルがソースコードで様々な形で提供されています。多くの場合はsplit関数を使ってカンマ区切りのデータを配列に分割します。多くの場合はsplit関数だけ使えば対応ができます。
CSVデータにも文字列の前後にダブルクォーテーションがついていたりいなかったりします(文字列のダブルクォーテーションまではsplit関数で対応します。)ただCSVデータの中には表示形式付の数値がダブルクォーテーションで囲われたりします。表示形式にカンマが入っていると表示形式のカンマで分割されたりします。CSVデータの内容によってはsplit関数では正しく処理ができないので、どんなCSVデータにも対応するために作ってみました。
CSVデータ取込の特徴
CSVデータを1文字ずつ文字を検査してダブルクォーテーションとカンマの組み合わせで文字列の判断するソースコードを作りました。さらに、CSVデータを取込んだら、Excelデータとして必ず表示形式で数値には3桁ごとにカンマを入れるとか、列幅を自動調整するなどを行います。CSVデータ取込後に必ず行うような操作をVBAに組み込みました。
取込んだデータ分だけ格子線の罫線を引き、シート名をCSVファイル名に変更するようにしました。
CSVデータ取込のイメージ
- CSVデータ取込.xlsmをマクロの起動で開き、データを取り込みたいシートのセルをアクティブにする。
- [表示]タブ-[マクロ]ボタンから[]取込.xlsmをマクロの起動で開き、データを取り込みたいシートのセルをアクティブにする。
- マクロのダイアログボックスから、csvReadを選択して[実行]ボタンをクリックする。
- CSVファイルを選択して、[開く]ボタンをクリックする。
- データが取込まれ、数値はカンマ表示、列幅・罫線が設定され、シート名が変更される。
- 別のシートにCSVファイルを取込む場合は、シートを切り替えて2.~5.を繰り返す。