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

 

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

 

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

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

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

 

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

 

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

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

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

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

使い方

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

 

ポイント

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

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

 

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

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

  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に取り込み、処理や分析に活用できます。ファイルの取り扱い時にはエラーハンドリングやファイルパスの指定に注意しましょう。

 

以下、業務に役立つマクロ10選を選びました。※ここをクリックで一覧表示します

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問