KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で複数の CSV/テキスト/XML ファイルを素早く一括インポートする方法は?

著者Sun変更日

Excel では、ブックを CSV ファイル、テキストファイル、または XML ファイルとして保存したことがあるかもしれませんが、フォルダー内の複数の CSV/テキスト/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 を実行すると、インポート元のテキストファイルが格納されているフォルダーを選択するダイアログが表示されます。スクリーンショットをご参照ください:

TXTファイルをインポートしたいフォルダーを選択しているスクリーンショット

4。OKをクリックすると、選択したフォルダー内の各テキストファイルが現在のワークブックの個別のワークシートにインポートされます。スクリーンショットをご参照ください:

選択したフォルダー内の各テキストファイルが現在のワークブックの異なるワークシートにインポートされたことを示すスクリーンショット選択したフォルダー内の各テキストファイルが現在のワークブックの異なるワークシートにインポートされたことを示すスクリーンショット 2
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 ファイルをインポートするフォルダーを選択するダイアログが表示されます。スクリーンショットを参照してください:

CSVファイルを単一のワークシートにインポートしたいフォルダーを選択しているスクリーンショット

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

CSVファイルをインポートする前に既存のシートをクリアするかどうかを確認するプロンプトボックスのスクリーンショット

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

選択したフォルダー内のすべてのCSVファイルが現在のワークシートにインポートされたことを示すスクリーンショット選択したフォルダー内のすべてのCSVファイルが現在のワークシートにインポートされたことを示すスクリーンショット 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 

ワークシート内でCSVファイルを横方向にインポートしているスクリーンショット


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 を実行すると、インポート元のフォルダーを選択するダイアログが表示されます。スクリーンショットをご参照ください:

XMLファイルを単一のワークシートにインポートしたいフォルダーを選択しているスクリーンショット

4。OKをクリックすると、選択したフォルダー内のすべての XML ファイルが現在のワークシートにインポートされます。


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

VBA に不慣れでも心配いりません。ここでは、便利なツール——Kutools for Excelをご紹介します。その強力な結合機能を使えば、複数の XML ファイルや CSV ファイルを、すばやく1 つのブックまたは1 つのExcel シートにまとめられます。

Kutools for Excel をインストールした後は、以下の手順に従って操作してください:Kutools for Excel (Kutools for Excel を今すぐ無料ダウンロード!)

1。Excel をアクティブにして、KUTOOLS PLUS > 結合 をクリックしてください。スクリーンショットを参照:
Kutools for Excel の「結合」機能を有効にしているスクリーンショット

2。「結合」ダイアログのステップ1で、必要に応じて区切りオプションを1 つ選択してください。下記のスクリーンショットをご参照ください:
「ワークシートの結合」ウィザードで必要な操作を1つ選択しているスクリーンショット

3。次へをクリックして「結合」のステップ2に進み、追加をクリックすると、さまざまなフォルダーまたは1 つのフォルダー内のファイルをブックリストに追加できます。また、右側のワークシートリストから結合対象のシートを指定することも可能です。スクリーンショットを参照してください:
ファイルまたはフォルダーを追加し、結合したいシートを指定しているスクリーンショット

4。次へをクリックして最後のセルを選択するステップの「結合」に進み、結合オプションを指定できます。
結合オプションを指定しているスクリーンショット

5。完了をクリックすると、新しい結合結果の保存先を選択するダイアログが表示されます。スクリーンショットを参照してください:
新しい結合ファイルを保存する場所を選択しているスクリーンショット

6。保存をクリックすると、追加されたすべてのシートが新しい1 つのシートに結合されます。
追加されたすべてのシートが新しい単一のワークシートに結合されたことを示すスクリーンショット

ヒント:「結合」機能を使えば、複数のフォルダーや1 つのフォルダー内の複数のCSV ファイルを、1 つのシートまたはブックにまとめて結合できます。


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

各シートを CSV/テキスト/PDF ファイル形式でフォルダーにエクスポートしたいなら、Kutools for Excelブックの分割機能がぴったりです!

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

1。エクスポートしたいワークブックを開き、KUTOOLS PLUS > ブック > ブックの分割をクリックしてください。スクリーンショットを参照してください:

「ワークブックの分割」機能を有効にしているスクリーンショット

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

エクスポートするシート名をチェックし、保存形式を指定しているスクリーンショット

3。分割をクリック後、「フォルダーの参照」ダイアログで、分割ファイルを保存するフォルダーを指定します。スクリーンショットを参照してください:

エクスポートされたファイルを保存する宛先フォルダーを選択しているスクリーンショット

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


関連記事:


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


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

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得