拡張子が「.csv」であるCSVファイルは、データのやり取りなどによく使われます。CSVファイルの正体は、「,」(カンマ)と改行で区切られたテキストファイルです。ExcelではCSVファイルを通常のブックと同様に開くことができ、データはカンマごとに1つのセル、改行ごとに1つの行の形式でワークシート上に読み込まれます。

 しかし、CSVファイルを単純にブックとして読み込んで開くと、場合によっては不都合が生じます。例えば、「1-01」といった文字列のデータの場合、Excelの“おせっかい機能”によって、「1月1日」の日付の形式(シリアル値)に勝手に変換されてしまいます。そのうえ、列の並びを変えたり、事前に加工したりして読み込みたいケースにも対応できません。

 そうした問題を解消するのがこのサンプルです。読み込みたいデータはCSVファイル「data.csv」とします。Subプロシージャ「CSV読込」を実行すると、「ファイルを開く」ダイアログボックスが表示されます。目的のCSVファイルを選ぶと、A~C列に、そしてD列を飛ばして、E列にデータが読み込まれます(図1)。さらにこの例のC列では、シリアル値に勝手に変換されないよう、セルの表示形式をテキスト形式に設定しています。またD列はG1~H1の表から、C列の値に該当する料金のデータを参照するよう、VLOOKUP関数をあらかじめ入力しています。コードはリスト1になります。

図1●CSVファイル「data.csv」を、列を並び替えたうえにG列をテキスト形式にして、ワークシー トに読み込む
図1●CSVファイル「data.csv」を、列を並び替えたうえにG列をテキスト形式にして、ワークシー トに読み込む
[画像のクリックで拡大表示]
リスト1●Subプロシージャ「CSV読込」のコード(標準モジュールのMod ule1に記述)
リスト1●Subプロシージャ「CSV読込」のコード(標準モジュールのMod ule1に記述)
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。