使用VBA在Excel中将文本文件转换为Excel文件的方法。作者提供了一段录制的宏代码,并针对其中的固定文件路径进行了讲解。在讲解中,作者介绍了如何使用活动路径来代替固定路径,以便更灵活地读取文件夹中的文本文件。为此,作者提供了一个使用ThisWorkbook.Path来获取活动工作簿路径的代码示例,并将其与录制的宏代码结合使用,以实现文本文件的读取和转换为Excel文件。本文的内容通俗易懂,适合Excel初学者和VBA编程爱好者参考。

要使用活动路径来代替固定的路径,您可以使用以下代码来获取活动工作簿的路径:
ThisWorkbook.Path
将此路径添加到您的代码中,可以像这样更改您的代码:
Sub ConvertTxtToXlsx()
Dim myPath As String
myPath = ThisWorkbook.Path & "\新建文件夹\txt文档\"
'使用Queries获取和转换数据
With ActiveWorkbook.Queries.Add(Name:="Data", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Folder.Files(""" & myPath & """)," & Chr(13) & "" & Chr(10) & " #""Filtered Rows"" = Table.SelectRows(Source, each ([Extension] = "".txt""))," & Chr(13) & "" & Chr(10) & " #""Removed Other Columns"" = Table.SelectColumns(#""Filtered Rows"",{""Content"",""Name""})," & Chr(13) & "" & Chr(10) & " #""Added Custom"" = Table.AddColumn(#""Removed Other Columns"", ""Custom"", each Excel.Workbook(Text.From([Content])))," & Chr(13) & "" & Chr(10) & " #""Removed Other Columns1"" = Table.SelectColumns(#""Added Custom"",{""Name"", ""Custom""})," & Chr(13) & "" & Chr(10) & " #""Expanded Custom"" = Table.ExpandTableColumn(#""Removed Other Columns1"", ""Custom"", {""Sheets"", ""Data""}, {""Sheets.Name"", ""Data""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Expanded Custom""")
End With
'转换为xlsx格式
ActiveSheet.ListObjects("Data").TableObject.ConvertToRange
ActiveWorkbook.SaveAs Filename:=myPath & "数据.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

此代码将使用活动工作簿的路径来设置文件夹路径,然后使用该路径来读取文件夹中的文本文件,并将其转换为Excel工作簿,并将结果保存为新的Excel文件。请确保“新建文件夹\txt文档”路径在您的活动路径下存在。
