我有大量數據(30,000多行)被拉入報表。VBA - 將SQL查詢結果分配給特定的
表看起來像這樣:
Report Bucket Category SubCategory Value
______ ______ ________ ___________ _____
NumberEmployees Region1 FullTime NULL 45
NumberEmployees Region1 PartTime NULL 20
NumberEmployees Region2 FullTime NULL 60
NumberEmployees Region2 PartTime NULL 85
......
NumberEmployees Region25 FullTime NULL 29
NumberEmployees Region25 PartTime NULL 38
有在「報告」列若干不同的報告。每個都有相同的25個桶。然後,類別和子類別針對每個報告。值是我想要報告的最終號碼(不需要額外的操作來編號)。
我有一個VBA代碼,將數據導入Excel(但只是到一個數據表)。
不過,我需要移動到那些精美的格式化交叉表的報表,會看起來像:
Number of Employees>
ByREGION FullTime PartTime
Region1 45 20
Region2 60 85
.... .... ....
Region25 29 38
我不想因爲我需要這個數據在一個特定的統一進行格式化使用數據透視表報道的方式。
我只是在做一個SUMIFS來計算表中每個單元格的值,但是文件變得太大了。
是否有VBA代碼我可以寫使交叉表???
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "select * from ComparisonData_All"
objMyCmd.CommandType = adCmdText
'Open Recordset'
Set objMyRecordset.Source = objMyCmd
objMyRecordset.Open
'Copy Data to Excel'
ActiveSheet.Range("A8").CopyFromRecordset objMyRecordset
Range("H:H").Select
With Selection
Selection.NumberFormat = "General"
.Value = .Value
End With
End Sub
當然是有代碼,可以爲你做這個。當我有自定義需求時,我經常在VBA中編寫自己的「pivot」和「unpivot」功能。 – Kyle
*我不想使用數據透視表,因爲我需要以特定的統一方式爲報告格式化這些數據。* - 1)您是否知道可以操作數據透視表格式? 2)即使這不起作用,你可以通過數據透視表構建結構,然後在另一個表格上放置格式並使用簡單公式或GETPIVOTDATA鏈接到數據透視表中的數據(所以數據透視表就像是格式化報表數據的分段)。 –