【发布时间】:2019-02-15 03:17:09
【问题描述】:
创建一个可以打开多个文件并为每个文件添加数据透视表的宏。这些文件的格式都与包含数据透视表所需数据的工作表“详细信息”相同。但是每个文件都有不同数量的行,所以我尝试使用动态范围来捕获每个文件上的所有数据。
上面的代码会打开文件并根据需要对其进行格式化以使用数据透视表。
'Set Dynamic Range
Dim startCell As String
Dim lastRow As Long
Dim lastCol As Long
Dim WS As String
WS = "Details"
Worksheets(WS).Activate
'Find Last row and column
lastRow = Cells(Rows.Count, Cells(1, 7).Column).End(xlUp).Row
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 7), Cells(lastRow, lastCol)).Select
Range(Range("G1"), Range("G1").End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Name = "DynamicRange"
Sheets.Add After:=ActiveSheet
' Create Pivot Table
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"DynamicRange", Version:=6).CreatePivotTable TableDestination:= _
"Sheet1!R1C1", TableName:="PivotTable1", DefaultVersion:=6
Sheets("Sheet1").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = True
.HasAutoFormat = True
当我进入“创建数据透视表”部分时,第一行给了我一个运行时错误代码 1004。
【问题讨论】:
标签: excel vba pivot-table