select工作表的function

我正在尝试编写一个VBA函数来获取一个函数(“汇总”)来更新选定工作表时,范围的值。

我已经在特定的工作表代码中对不同的工作表进行了重复,但是我失去了如何创build一个单独的函数来获取工作表名称(例如“rngXF”)和汇总函数的值(例如“XF”)

Private Sub Worksheet_Activate() Dim c As Range Application.Calculation = xlCalculationManual Application.ScreenUpdating = False For Each c In Range("rngXF") c.Value = Rollup(c, "XF") Next c Application.Calculation = xlCalculationAutomatic Application.Calculate Application.ScreenUpdating = True End Sub 

您可以将其放置在您希望RollUp工作的任何工作表模块中:

 Private Sub Worksheet_Activate() Call Calculate_RollUp(Me, "rngXF", "XF") End Sub 

把它放在一个常规模块中:

 Public Sub Calculate_RollUp(SheetObject As Worksheet, Range_Name As String, RollUp_Argument As String) Dim c As Range With Application .EnableEvents = False .Calculation = xlCalculationManual .ScreenUpdating = False For Each c In SheetObject.Range(Range_Name) c.Value = Rollup(c, RollUp_Argument) Next c .Calculation = xlCalculationAutomatic .Calculate .EnableEvents = True .ScreenUpdating = True End With End Sub