CSVファイルを読み書きするExcelマクロ【VBA入門】

今回はExcelマクロでCSVファイルを読み書きするツールの紹介です。
CSVファイルはExcelがインストールされているパソコンであれば、ファイルをダブルクリックすることで開けますが、この方法ではデータを正しく読み込めない場合があります。

例えば0で埋められた数値「001」「002」「003」などは「1」「2」「3」と頭のゼロが省かれて表示されます。

数字として読み込んでもらいたい「2019」が「2019年」に変換されてしまうこともあります。

Excelの自動変換を避けるには?

これらExcelのお節介を避けるため『テキストファイルのインポート』機能を使用すると、CSVファイルの列ごとに「文字列」「数値」「日付」…と表示形式を指定して読み込むことができる訳ですが、、、手順が煩雑ですし、UTF-8のCSVファイルを読み込むと文字化けが起きるなど、ファイル内容を編集する以前にモチベーションが下がることもしばしばです。

正直、この作業をCSVファイルを編集するたびにするのは苦痛です。
この煩雑な手順を自動化したのがこの記事で紹介するツール(Excelマクロ)です。
Sponsored Link

CSV File Editorについて

このツールは、ExcelでCSVファイルを編集する際の手間を減らすことを目的に作成しました。

こんな人にオススメ

・日常的にCSVファイルの編集作業をしている。
・Excelでの文字化けに苦労している。
・Excelの自動変換で数値データの”0”が消えてしまって悩んでいる。
・Excelの自動変換で意図せず日付形式に変わってしまって悩んでいる。

 

CSVファイルを読み込む際に、セルの表示形式を”文字列”に設定することで、Excelによる
データの自動変換を極力発生させないようにしています。
Excelの計算式や関数を使用したい場合は、ファイルを読み込み後、セルの表示形式を
“標準”に変更してください。

改行コードについて

このツールでは、CSVファイルの行数を、改行コード(CR+LF)をもとに処理しています。
改行コードがCRもしくはLFの場合は正しく処理できません。予めご了承ください。

Sponsored Link

ファイルの読み込み

「ファイル入力」ボタンを押すと、ファイル選択ダイアログが表示されます。
読み込みたいCSVファイルを選択してください。
“CsvFile”シートに読み込んだCSVファイルのデータを表示します。
また、入力するCSVファイルに対して、以下の項目を設定できます。

入力ファイルの設定

  • 文字コード
    読み込むCSVファイルの文字コードを指定してください。
    このツールは、文字コードを自動的に判別することはできません。
    SJIS、UTF-8が選択可能です。
  • ヘッダー行数
    読み込むCSVファイルにヘッダー行が有る場合、行数を指定してください。
    指定した行数はウィンドウ枠が固定されます。
  • ストライプ設定
    読み込んだデータの背景を、1行おきに着色します。
  • 列幅調整
    データ読み込み後に、列幅調整をします。
  • 改行コード
    読み込むCSVファイルの、行末の改行コードを選択してください。
    1つも選択しない場合は、ファイル入力ボタンがクリックできなくなります。

Sponsored Link

ファイルの出力

「ファイル出力」ボタンを押すと、ファイル設定ダイアログが表示されます。
CSVファイルを出力する場所と名前を指定して、「保存」ボタンを押してください。
また、出力するCSVファイルに対して、以下の項目を設定できます。

出力ファイルの設定

  • 文字コード
    出力するCSVファイルの文字コードを指定してください。
    SJIS、UTF-8、UTF-8(BOM)が選択可能です。

以下はダウンロードボタンです。

マクロの機能改善は気分次第でおこないます。

コメント

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