2023-04-16 VBA 实现power query将工作簿中不同工作表新建query并加载到新的工作表

1. 新建工作簿中不同工作表的查询query目的是为了将这三张表合并,前提是这三张表是同类型的表(同主题的表),也就是列字段相同,行不一样

2.本程序的目的是先新建三张表的query,为合并表格提供前提条件。

3.C:\Users\pc\Desktop\power pipot\表一.xlsx  中有三张同类型的表

4.目标是将新建的query加载到 D:\思斯学习\vba学习\vba练习\power pivot.xlsm 文件中

5. 不一定是三张sheet,可以是多张sheet


代码如下:

Sub 新建多个sheets的query()

Dim i As Integer, j As Integer

Dim na As String

Dim q As Queries

Workbooks.Open ("C:\Users\pc\Desktop\power pipot\表一.xlsx")

Workbooks.Open ("D:\思斯学习\vba学习\vba练习\power pivot.xlsm")

For i = 1 To Workbooks("表一.xlsx").Sheets.Count

na = Workbooks("表一.xlsx").Sheets(i).Name

Workbooks("power pivot.xlsm").Activate

Set q = ActiveWorkbook.Queries

q.Add Name:=na, Formula:= _

        "let" & Chr(13) & "" & Chr(10) & "    源 = Excel.Workbook(File.Contents(""C:\Users\pc\Desktop\power pipot\表一.xlsx""), null, true),    na_Sheet = 源{[Item=" & Chr(34) & na & Chr(34) & ",Kind=""Sheet""]}[Data],    提升的标题 = Table.PromoteHeaders(na_Sheet, [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & "    更改的类型 = Table.TransformColumnTypes(提升的标题,{{""汽车配件号"", type text}, {""配件名称"", type text}, {""单价"", Int64.Type}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    更改的类型"

ActiveWorkbook.Worksheets.Add

    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _

        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$workbooks$;Location=" & na & ";Extended Properties=""""" _

        , Destination:=Range("$A$1")).QueryTable

        .CommandType = xlCmdSql

        .CommandText = Array("SELECT * FROM [" & na & "]")

        .RowNumbers = False

        .FillAdjacentFormulas = False

        .PreserveFormatting = True

        .RefreshOnFileOpen = False

        .BackgroundQuery = True

        .RefreshStyle = xlInsertDeleteCells

        .SavePassword = False

        .SaveData = True

        .AdjustColumnWidth = True

        .RefreshPeriod = 0

        .PreserveColumnInfo = True

        .Refresh

End With

  Next i

End Sub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容