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

 

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

 

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

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

命令の意味は分かるけど、何に使うのか分からないと感じている方へ。
30万人が読んだ記事をもとに再構成。

データ分割を題材に、実務の流れの中で理解できる講座です。

↓↓↓↓↓
自分で作れるレベルへ(こちらから閲覧できます)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

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

 

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

 

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

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

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

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

使い方

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

 

ポイント

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

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

 

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

 

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
ファイルを閉じます。

 

  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

 

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

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

命令の意味は分かるけど、何に使うのか分からないと感じている方へ。
30万人が読んだ記事をもとに再構成。

データ分割を題材に、実務の流れの中で理解できる講座です。

↓↓↓↓↓
自分で作れるレベルへ(こちらから閲覧できます)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━