0
我記錄了爲任意數據創建數據透視表,並且在給定一組數據時它似乎工作正常。但是,當程序獲得多列數據時,輸出不正確。下面是一般透視表的代碼。它與記錄的數據透視表類似,不同之處在於名稱和列的硬編碼較少VBA Excel數據透視表
Dim tempString As String
tempString = ActiveWorkbook.Sheets(sheetName).Range(column & "1").Value
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
sheetName & "!R1C" & ColTextToInt(column) & ":R" & g_totalRow & "C" & ColTextToInt(column) & "", Version:=xlPivotTableVersion12 _
).CreatePivotTable TableDestination:=ActiveSheet.Range(colNamePos & "1"), _
TableName:=column & "Table", DefaultVersion:=xlPivotTableVersion12
ActiveCell(1, ColTextToInt(colNamePos)).Select
With ActiveSheet.PivotTables(column & "Table").PivotFields(tempString)
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.Range(colNamePos & "1").Select
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveSheet.PivotTables(column & "Table").AddDataField ActiveSheet.PivotTables(_
column & "Table").PivotFields(tempString), "Count of " & tempString, xlCount
ActiveWorkbook.ShowPivotTableFieldList = False
該程序向上結束。下面是具體的線路:
ActiveSheet.PivotTables(column & "Table").AddDataField ActiveSheet.PivotTables(_
column & "Table").PivotFields(tempString), "Count of " & tempString, xlCount
在這行代碼被擊中的數據透視表的列(具有特定的單元名稱)被覆蓋了一共有多少行有盛大總數。下面是變量所代表的關鍵點
sheetName =包含所有原始數據的工作表(例如「Sheet1」) column = User指定他們希望程序查看的列(例如「F」 ) tempString =給定前兩個變量,這將等於列的標題(例如「State」) g_totalRow =原始數據表中有多少行 colNamePos =程序將輸入數據透視表的列到
謝謝
傑西Smothermon