任務:更改100個工作表中的總和範圍。 每張表具有統一的命名約定,即「Client_」 每張表中的每個表都與工作表具有相同的名稱。所以在「Client_Leaf」上有一個名爲「Client_Leaf」的表。我一直在ActiveCell.FormulaR1C1行發生錯誤。這裏是我的代碼至今:聲明變量等於工作表名稱,以引用表中的表格
Sub fixFormulaRanges()
Application.ScreenUpdating = False
Dim Client As Worksheet
Dim ClientTable As ListObject
Dim varTableName As Variant
For Each Client In ActiveWorkbook.Worksheets
With Client
If CBool(InStr(1, .Name, "Client_", vbTextCompare)) Then
varTblName = .Name
Range("f8").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(varTblName & [Sector],RC[-2],varTblName & [Market Value])"
Range("F8:F20").Select
Selection.FillDown
End If
End With
Next Client
End Sub