Excelで複数のcsv/text/xmlファイルを一括で迅速にインポートする方法は?
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を実行し、表示されるダイアログでインポートしたいテキストファイルがあるフォルダを選択します。スクリーンショットをご覧ください:
4. 「 OK」をクリックすると、選択したフォルダ内の各テキストファイルがアクティブなワークブックの1つのワークシートにインポートされます。スクリーンショットをご覧ください:



Kutools AIでExcelの魔法を解き放つ
- スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
- カスタム数式: ワークフローを合理化するための独自の数式を生成します。
- VBAコーディング: 簡単にVBAコードを作成し実装します。
- 数式の解釈: 複雑な数式を簡単に理解できます。
- テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
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ファイルがあるフォルダを選択します。スクリーンショットをご覧ください:
4. 「OK」をクリックすると、ダイアログが表示され、インポート前にアクティブなワークシートの内容を消去するかどうか確認されます。ここでは「 はい」をクリックします。スクリーンショットをご覧ください:
「はい」をクリックすると、選択したフォルダ内のすべてのCSVファイルが現在のシートにインポートされ、データは列Aから右方向に配置されます。スクリーンショットをご覧ください:


ヒント: 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
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を実行し、表示されるダイアログでフォルダを選択します。スクリーンショットをご覧ください:
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 > 統合スクリーンショットをご覧ください:
2. そして、「 統合ステップ1 」ダイアログで、必要に応じて区切りオプションを選択します。スクリーンショットをご覧ください:
3. 「 次へ 」をクリックして 統合ステップ2」に進み、「 追加 」をクリックして、さまざまなフォルダからファイルを追加するか、1つのフォルダからファイルを追加します。「 ワークブック 」リストに追加し、また右側のセクションにある「 ワークシート 」リストから結合したいシートを指定することもできます。スクリーンショットをご覧ください:
4. 「 次へ 」をクリックして 統合」の最後のステップに進み、結合オプションを指定します。
5. 「 完了」をクリックすると、新しい結合結果を保存する場所を選択するよう促すダイアログが表示されます。スクリーンショットをご覧ください:
6. 「 保存」をクリックします。追加されたすべてのシートが新しい単一のシートに結合されました。
ヒント: 結合機能を使用すれば、複数のフォルダまたは1つのフォルダから複数のCSVファイルを1つのシートまたはワークブックに結合することもできます。
Kutools for Excelを使用して各シートをCSV/テキスト/PDFとしてフォルダにエクスポート
各シートをCSV/テキスト/PDFファイルとしてフォルダにエクスポートしたい場合、Kutools for Excelの「ブックの分割」機能が役立ちます。
無料でダウンロードしてインストール した後、以下のように操作してください:
1. エクスポートしたいワークブックを有効にし、 Kutools Plus > ワークブック > ブックの分割をクリックします。スクリーンショットをご覧ください:
2. 「 ブックの分割」ダイアログで、エクスポートしたいシート名をチェックします。デフォルトではすべてのシートがチェックされており、「保存形式を指定」をチェックしてドロップダウンリストから保存したいファイル形式を選択します。スクリーンショットをご覧ください:
3. 「分割」をクリックし、表示される「フォルダの参照」ダイアログで分割ファイルを保存するフォルダを選択します。スクリーンショットをご覧ください:
4. 「OK」をクリックすると、チェックされたすべてのシートが選択したフォルダに新しいファイル形式でエクスポートされます。
関連記事:
- Excelでハイパーリンクをプレーンテキストに変換する方法は?
- Excelで10進数を2進数/8進数/16進数に変換する、またはその逆にする方法は?
- Excelにリアルタイム為替レートを挿入する方法は?
最高のオフィス生産性ツール
🤖 | 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%向上させ、毎日数百回のマウスクリックを減らします!