Excel中如何将多个文本文件导入不同的工作表中

本文将会讲述如何将多个.txt文件导入Excel中打开的工作簿中的不同工作表中。如何使用Excel 2013/2016中的VBA宏快速将多个文本文件从本地磁盘导入到每个工作表中。

将多个文本文件导入到单独的工作表


假设您已打开一个工作簿,并且要将d:/ text目录下的所有文本文件导入当前工作簿,并且每个文本文件都应导入一个新工作表。以下步骤将向您展示如何使用Excel VBA宏来完成它:

步骤1您需要确保要导入多少文本文件,例如,您要从名为text的文件夹中导入2个文本文件,然后您需要确保至少有两个工作表,以便它可以将这两个文本文件导入这两个工作表。

Excel中如何将多个文本文件导入不同的工作表中1

步骤2打开您的Excel工作簿,然后单击DEVELOPER选项卡下的Visual Basic”命令,或者只需按“ALT + F11”快捷方式。

隔行數據移動到新列8

步骤3然后将出现“Visual Basic编辑器”窗口。

步骤4单击“插入” – >“模块”以创建新模块。

隔行數據移動到新列9

步骤5将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。

Excel中如何将多个文本文件导入不同的工作表中2


Sub ImportTextFilesIntoSheets()
Dim filePath As String
Dim openFileDialog As FileDialog
Dim openFile As String
Dim sheetNum As Long
Set openFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
openFileDialog.AllowMultiSelect = False
openFileDialog.Title = "select one directory that contain text files:"
If openFileDialog.Show = -1 Then
filePath = openFileDialog.SelectedItems(1)
End If
If filePath = "" Then Exit Sub
Application.ScreenUpdating = False
openFile = Dir(filePath & "\*.txt")
Do While openFile <> ""
sheetNum = sheetNum + 1
Sheets(sheetNum).Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& filePath & "\" & openFile, Destination:=Range("A1"))
.Name = "importFile" & sheetNum
.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
openFile = Dir
End With
Loop

Exit Sub
End Sub

步骤6返回当前工作表,然后运行上面的excel宏。点击运行按钮。

Excel中如何将多个文本文件导入不同的工作表中3

步骤7选择一个包含文本文件的目录。单击确定按钮。

Excel中如何将多个文本文件导入不同的工作表中4

步骤8让我们看看最后的结果:

Excel中如何将多个文本文件导入不同的工作表中5

Sidebar