Excel Power Query with VBA-Textdata与每个数据的新工作表
我需要Excel VBA的帮助。我想将一些文本文件导入我的Excel工作表,我想用VBA将其自动化,因为我有很多数据要导入,这将节省我的时间 所有文本文件都是相同的。我想将一个文件导入到工作表中,然后创建一个新工作表并导入新工作表中的下一个文件。此过程应持续到所有数据导入为止。所以每个文本文件都需要一个新的Excel表格。所有这些都应该在VBA中自动运行。我只想启动makro,然后它开始工作。问题是,我无法构建这样的VBA代码。但是我试过了 以下是我已经拥有的:Excel Power Query with VBA-Textdata与每个数据的新工作表,excel,vba,text,import,powerquery,Excel,Vba,Text,Import,Powerquery,我需要Excel VBA的帮助。我想将一些文本文件导入我的Excel工作表,我想用VBA将其自动化,因为我有很多数据要导入,这将节省我的时间 所有文本文件都是相同的。我想将一个文件导入到工作表中,然后创建一个新工作表并导入新工作表中的下一个文件。此过程应持续到所有数据导入为止。所以每个文本文件都需要一个新的Excel表格。所有这些都应该在VBA中自动运行。我只想启动makro,然后它开始工作。问题是,我无法构建这样的VBA代码。但是我试过了 以下是我已经拥有的: Sub A() With
Sub A()
With Application.FileDialog(msoFileDialogOpen)
If .Show Then Sheets.Add , Sheets(Sheets.Count), , .SelectedItems(1)
End With
End Sub
Sub B()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.InitialFileName = "C:\Users\Thoma\Desktop\Test\*.txt"
If .Show Then
For Each f In .SelectedItems
Sheets.Add , Sheets(Sheets.Count), , f
Next f
End If
End With
End Sub
此代码打开Windows资源管理器,然后您可以选择多个文本文件。然后,它会将每个文件加载到新的Excel工作表中。问题是,它不使用Power Query,因此与文件夹中的文件没有数据连接,我无法刷新它们。而且它会将所有数据导入到第一列,这并不好,因为它需要在单独的列中
我还有这个代码:
Sub Makro1()
'
' Makro1 Makro
'
'
ActiveWorkbook.Queries.Add Name:="aacg us", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Quelle = Csv.Document(File.Contents(""C:\Users\Thoma\Downloads\Neuer Ordner\aacg.us.txt""),[Delimiter="","", Columns=10, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & " #""Höher gestufte Header"" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & " #""Analysierte JSON"" = Table.TransformColumns(#""Höher gestufte Header"",{{""<OPEN>"", Json.Docum" & _
"ent}, {""<HIGH>"", Json.Document}, {""<LOW>"", Json.Document}, {""<CLOSE>"", Json.Document}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Analysierte JSON"""
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""aacg us"";Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [aacg us]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "aacg_us"
.Refresh BackgroundQuery:=False
End With
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets.Add After:=ActiveSheet
End Sub
我用makro录音机制作了这个。它打开一个名为accg.us的文件,并创建一个Power查询表。完成此操作后,它将添加一个新的工作表。这一个的问题是,它将只加载文件accg.us,而不是完整的文件夹
所以我需要以某种方式组合booth,但我不知道如何组合
以下是一些示例数据: