メインコンテンツへスキップ

Excelで複数のcsv/text/xmlファイルを一括で迅速にインポートする方法は?

Author: Sun Last Modified: 2025-05-23

Excelでは、ワークブックをcsvファイル、テキストファイル、またはxmlファイルとして保存することが一般的ですが、フォルダから複数のcsv/text/xmlファイルをワークブックやワークシートにインポートしたことはありますか?この記事では、それらを迅速に一括インポートするためのいくつかの方法を紹介します。


VBAを使用してフォルダ内の複数のテキストファイルを各ワークシートにインポート

フォルダからテキストファイルをワークブックにインポートするには、以下のVBAを使用して迅速に対応できます。

1. 空のワークブックを有効にし、Alt + F11キーを押して Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 「挿入」 > 「モジュール」をクリックし、VBAをモジュールウィンドウに貼り付けます。

VBA: フォルダ内のすべてのテキストファイルをワークブックにインポート

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. F5キーを押すか 「実行」ボタンをクリックしてVBAを実行し、表示されるダイアログでインポートしたいテキストファイルがあるフォルダを選択します。スクリーンショットをご覧ください:

a screenshot of seleting a folder from which you want to import txt files

4. 「 OK」をクリックすると、選択したフォルダ内の各テキストファイルがアクティブなワークブックの1つのワークシートにインポートされます。スクリーンショットをご覧ください:

a screenshot showing that each text file in the selected folder has been imported into different worksheets of the current workbooka screenshot showing that each text file in the selected folder has been imported into different worksheets of the current workbook 2
a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

VBAを使用してフォルダ内の複数のCSVファイルを1つのシートにインポート

フォルダ内のすべてのCSVファイルを1つのシートにインポートするには、以下のVBAコードを使用できます。

1. 空のワークシートを有効にし、Alt + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

2. 「 挿入」>「モジュール」をクリックし、新しい モジュールウィンドウに以下のVBAを貼り付けます。

VBA: フォルダ内のCSVファイルを1つのワークシートにインポート

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. F5キーを押すか「実行」ボタンをクリックしてVBAを実行し、表示されるダイアログでインポートしたいCSVファイルがあるフォルダを選択します。スクリーンショットをご覧ください:

a screenshot of seleting a folder from which you want to import csv files into a single worksheet

4. 「OK」をクリックすると、ダイアログが表示され、インポート前にアクティブなワークシートの内容を消去するかどうか確認されます。ここでは「 はい」をクリックします。スクリーンショットをご覧ください:

a screenshot of a prompt box reminding that whether you want to clear the existing sheet before importing csv files

はい」をクリックすると、選択したフォルダ内のすべてのCSVファイルが現在のシートにインポートされ、データは列Aから右方向に配置されます。スクリーンショットをご覧ください:

a screenshot showing that all csv files in the selcted folder are imported into the current worksheeta screenshot showing that all csv files in the selcted folder are imported into the current worksheet 2

ヒント: CSVファイルをワークシート内で水平に配置したい場合は、以下のVBAを使用できます。

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

a screenshot of importing csv files horizontally in a worksheet


VBAを使用してフォルダ内の複数のXMLファイルを1つのシートにインポート

フォルダ内のすべてのXMLファイルを1つのシートにインポートしたい場合、以下のVBAコードを使用できます。

1. インポートされたデータを配置したい空のシートを選択し、Alt + F11キーを押して Microsoft Visual Basic for Applicationsウィンドウを有効にします。

2. 「挿入」>「モジュール」をクリックし、VBAコードをモジュールウィンドウに貼り付けます。

VBA: フォルダ内のXMLファイルをワークシートにインポート

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. 「実行」ボタンをクリックするかF5キーを押してVBAを実行し、表示されるダイアログでフォルダを選択します。スクリーンショットをご覧ください:

a screenshot of seleting a folder from which you want to import xml files into a single worksheet

4. 「OK」をクリックすると、選択したフォルダ内のすべてのXMLファイルがアクティブなシートにインポートされます。


Kutools for Excelを使用して複数のXML/CSVファイルをシートまたはワークブックにインポートまたは統合

VBAに不慣れでも心配しないでください。ここで便利なツールであるKutools for Excelをご紹介します。強力な「統合」機能により、複数のXMLファイルやCSVファイルを1つのワークブックまたは1つのExcelシートに簡単に統合できます。

Kutools for Excelをインストール後、以下のように操作してください。(今すぐKutools for Excelを無料ダウンロード!)

1. Excelを起動し、クリックします。 Kutools Plus > 統合スクリーンショットをご覧ください:
a screenshot of enabling the Combine feature of Kutools for Excel

2. そして、「 統合ステップ1 」ダイアログで、必要に応じて区切りオプションを選択します。スクリーンショットをご覧ください:
a screenshot of selecting one operation as you need in the Combine Worksheets wizard

3. 「 次へ 」をクリックして 統合ステップ2」に進み、「 追加 」をクリックして、さまざまなフォルダからファイルを追加するか、1つのフォルダからファイルを追加します。「 ワークブック 」リストに追加し、また右側のセクションにある「 ワークシート 」リストから結合したいシートを指定することもできます。スクリーンショットをご覧ください:
a screenshot of adding files or folders and specifying the sheets you want to combine

4. 「 次へ 」をクリックして 統合」の最後のステップに進み、結合オプションを指定します。
a screenshot of specifying the combine options

5. 「 完了」をクリックすると、新しい結合結果を保存する場所を選択するよう促すダイアログが表示されます。スクリーンショットをご覧ください:
a screenshot of selecting a location to save the new combined file

6. 「 保存」をクリックします。追加されたすべてのシートが新しい単一のシートに結合されました。
a screenshot showing all adding sheets have been combined into a new single worksheet

ヒント: 結合機能を使用すれば、複数のフォルダまたは1つのフォルダから複数のCSVファイルを1つのシートまたはワークブックに結合することもできます。


Kutools for Excelを使用して各シートをCSV/テキスト/PDFとしてフォルダにエクスポート

各シートをCSV/テキスト/PDFファイルとしてフォルダにエクスポートしたい場合、Kutools for Excelの「ブックの分割」機能が役立ちます。

無料でダウンロードしてインストール した後、以下のように操作してください:

1. エクスポートしたいワークブックを有効にし、 Kutools Plus > ワークブック > ブックの分割をクリックします。スクリーンショットをご覧ください:

a screenshot of enabling the Split Workbook feature

2. 「 ブックの分割」ダイアログで、エクスポートしたいシート名をチェックします。デフォルトではすべてのシートがチェックされており、「保存形式を指定」をチェックしてドロップダウンリストから保存したいファイル形式を選択します。スクリーンショットをご覧ください:

a screenshot of checking the sheet names you will export and specifying a save format

3. 「分割」をクリックし、表示される「フォルダの参照」ダイアログで分割ファイルを保存するフォルダを選択します。スクリーンショットをご覧ください:

a screenshot of selecting a destination folder to save the exported files

4. 「OK」をクリックすると、チェックされたすべてのシートが選択したフォルダに新しいファイル形式でエクスポートされます。


関連記事:


最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!