-1

我目前有下面的代码,它将两个数据表保存到两个单独的工作表上的 Excel 工作簿中,然后打开工作簿:

Dim outputFileName As String
Dim outputFile As String
outputFile = "Export_" & Format(Date, "yyyyMMdd") & Format(Time, "_hhmm") & ".xlsx"
outputFileName = CurrentProject.Path & "\" & outputFile
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Callouts", outputFileName, True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Members", outputFileName, True

'Load Excel
Set appExcel = New Excel.Application
Set wbkOutput = appExcel.Workbooks.Open(outputFileName)

'Show excel window
appExcel.Visible = True

我想添加一些代码来创建数据透视表以在 excel 中显示数据,但我不确定如何执行此操作 - 有人可以帮忙吗?:-)

4

2 回答 2

0

这是创建数据透视表的示例代码:

...
Dim aSheet as Worksheet
Set aSheet = ThisWorkbook.Sheets.Add
ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
                                SourceData:="Sheet1!A1:D1000",
                                Version:=xlPivotTableVersion12). _
    CreatePivotTable TableDestination:=aSheet.Name&"!A1", _
                     TableName:="YourPivotTable", _
                     DefaultVersion:=xlPivotTableVersion12
ThisWorkbook.Sheets(aSheet.Name).Select
' Add the column field (the name of the pivot field is one of your data table) '
With ActiveSheet.PivotTables("YourPivotTable").PivotFields("columnHeaderField")
    .Orientation = xlColumnField
    .Position = 1
End With
' Add the row field (the name of the pivot field is one of your data table) '
With ActiveSheet.PivotTables("YourPivotTable").PivotFields("rowHeaderField")
    .Orientation = xlRowField
    .Position = 1
End With
' Add the data field
With ActiveSheet.PivotTables("YourPivotTable")
    .AddDataField .PivotFields("aValueField"), "Sum of a value", xlSum
    .AddDataField .PivotFields("anotherValueField"), "Sum of another value", xlSum
End With
...

希望这可以帮助你

于 2013-04-25T22:15:06.493 回答
0

不确定您是否最终发现它,但是,在我的代码中,如果我使用位置和 xlrow/column 字段也不会发生任何事情。我摆脱了它们,只对 xlcolumnfield 使用 .orientation = 1,对 xlrowfield 使用 2,对过滤使用 3,对 AddDataField 使用 4。我没有声明位置,Excel本身根据我编写代码的顺序调整位置。话虽如此,我却坚持使用公式:我无法将其从计数更改为总和;我尝试仅重命名该值并且似乎有效,因为在字段列表中它显示“...的总和”,但在枢轴本身中我仍然得到计数...

于 2016-04-11T13:03:57.030 回答