我想通过使用变量"sheetname"指定工作表名称来引用此公式中的每个工作表.有谁知道如何做到这一点?
Sub PopulateRow()
Dim WS_Count As Integer
Dim I As Integer
Dim sheetname As String
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
Worksheets(I).Activate
sheetname = ActiveSheet.Name
Worksheets(1).Cells(I, 1).Formula = "=sum('sheetname'!d:d)"
Next I
End Sub
Run Code Online (Sandbox Code Playgroud)
你可以将变量拉到引号之外并与之连接&.
Sub PopulateRow()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
Worksheets(1).Cells(I, 1).Formula = "=sum('" & Worksheets(I).Name & "'!d:d)"
Next I
End Sub
Run Code Online (Sandbox Code Playgroud)
作为一个说明,我删除了工作表.激活.它会减慢代码速度,如果正确完成则不需要.