VBAでテキストファイルをExcelに読み込む|実践コード&自動化手順解説

 

ExcelVBAを使用して、外部のテキストファイルを開き、その内容を読み込んでExcelシートに書き込んだり、データ処理に利用することができます。

 

他のシステムから出力されたテキストデータをExcelで分析したり、自動的にデータを取り込んで処理できます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

Excel VBAで外部テキストファイルを扱う用途とメリット

 

以下のようなシーンで利用されます。

 

1.テキスト形式(CSVやログファイルなど)で保存されたデータをExcelで扱いたい。

2.複数のテキストファイルからデータを自動で取り込んで、集計や分析を行いたい。

3.外部のシステムやアプリケーションから出力されたテキストデータをExcelにインポートして整理したい。

VBAでテキストファイルを読み込み→Excelシートに書き込む手順と注意点

使い方

Openステートメントを使用してテキストファイルを開き、ファイルの内容を読み取ります。読み取った内容はExcelのセルに書き込めます。

 

ポイント

1.ファイルが存在しない場合や読み取り権限がない場合、エラーが発生します。そのため、エラーハンドリングを行うことが重要です。

2.大きなファイルを扱う際はメモリに負荷がかかることがあるため、必要に応じて読み込み方法を工夫します。

 

Excel VBA テキストファイル読み込みのサンプルコード【実践編】

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
命令は分かる。でも作れない。その差は「作り方」です。
実務では、ここを知った瞬間にマクロが組み立てられるようになります。

実務マクロ設計ミニガイド(無料)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  1. Option Explicit
  2. Sub OpenTextFile()
  3.     Dim filePath As String
  4.     Dim fileContent As String
  5.     Dim fileNumber As Integer
  6.     Dim line As String
  7.     Dim i As Long
  8.     
  9.     ' 開きたいテキストファイルのパスを指定
  10.     filePath = "C:\Users\User\Desktop\新しいフォルダー\sample.txt"
  11.     
  12.     ' ファイル番号を取得
  13.     fileNumber = FreeFile
  14.     
  15.     ' テキストファイルを開く(読み取り専用モード)
  16.     Open filePath For Input As fileNumber
  17.     
  18.     i = 1 ' 行番号の初期化
  19.     
  20.     ' ファイルの中身を1行ずつ読み込み
  21.     Do Until EOF(fileNumber)
  22.         Line Input #fileNumber, line ' 1行ずつ読み込む
  23.         Cells(i, 1).Value = line ' 読み込んだ内容をセルに書き込む
  24.         i = i + 1 ' 次の行へ
  25.     Loop
  26.     
  27.     ' ファイルを閉じる
  28.     Close fileNumber
  29.     
  30.     MsgBox "テキストファイルの読み込みが完了しました!"
  31. End Sub

 

1. filePath = "C:\Example\sample.txt"
読み込むテキストファイルのパスを指定します。これをユーザーが開きたいファイルに変更します。

2. fileNumber = FreeFile
使用可能なファイル番号を取得します。これはファイルを開く際に必要です。

3. Open filePath For Input As fileNumber
指定したファイルを読み取り専用モードで開きます。

4. Line Input #fileNumber, line
ファイルから1行ずつテキストを読み取ります。

5. Cells(i, 1).Value = line
読み込んだ行をExcelのシートのセルに書き込みます(1列目)。

6. Close fileNumber
ファイルを閉じます。

 

ExcelVBAを使ってテキストファイルを開くことで、他のシステムやアプリケーションから出力されたデータを簡単にExcelに取り込み、処理や分析に活用できます。ファイルの取り扱い時にはエラーハンドリングやファイルパスの指定に注意しましょう。

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
すでに気づいている人もいるかもしれません。
VBAができる人は、特別なコードを書いているわけではなく、
作る順番が違うだけです。まとめたガイドを公開しています。
実務マクロ設計ミニガイド(無料)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━