|
本帖最后由 bartonsk 于 2024-2-24 14:45 编辑
请教各位网友和老师,附件是一个原始文件
想录制一个宏,放在个人宏文件簿里作为功能使用,问题是将下述代码放到 "个人宏文件簿"里面的时候,操作文件簿都是personal.xlsb,而不是源文件,
但是如果直接在源数据里面建宏使用,就是正常的.
请教一下如何改进?
Sub 数据汇总()
Rows("4:4").Select
If (Cells(4, 1) <> "") Then
MsgBox "已经处理过"
Exit Sub
End If
Selection.Delete Shift:=xlUp
Range("E3").Select
ActiveCell.FormulaR1C1 = "BS"
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A4").Select
Selection.End(xlDown).Select
Selection.ClearContents
Dim sht As Worksheet
Set sht = ThisWorkbook.Sheets(1)
Dim rngData As Range
Set rngData = sht.Range("A3").CurrentRegion
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
rngData, Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:=sht.Range("G3"), TableName:= _
"数据透视表1", DefaultVersion:=xlPivotTableVersion14
Cells(3, 7).Select
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("数据透视表1").PivotFields("BS")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("数据透视表1").AddDataField ActiveSheet.PivotTables("数据透视表1" _
).PivotFields(" 成交"), "求和项: 成交", xlSum
End Sub
|
|