我是VBA的新手,并尝试使用特定工作表上的命名范围自动填充数组。有问题的数组在下面的代码中以粗体显示。命名范围是“SheetNames”,位于名为“Consolidation”的工作表上,单元格B3到B101。
Sub Insert_Formula() Dim ws As Worksheet Application.ScreenUpdating = False 表格(数组(“Sheet1”,“Sheet2”))。选择
For Each ws In ActiveWindow.SelectedSheets ws.Range("F3:F50").Formula = "=SUMIFS(Jul!$K:$K,Jul!$H:$H,$C$1,Jul!$J:$J,$C3)" Next ws Application.ScreenUpdating = True End Sub
非常感谢任何帮助。
答案 0 :(得分:1)
希望这能回答你的问题。如果您希望遍历工作簿中的每个工作表,而不是明确地调用其名称,则可以使用
Sub Insert_Formula()
Application.ScreenUpdating = false
For Each ws In ActiveWorkbook.Sheets
ws.Range("F3:F50").Formula = "=SUMIFS(Jul!$K:$K,Jul!$H:$H,$C$1,Jul!$J:$J,$C3)"
Next
Application.ScreenUpdating = True
End Sub
或者,如果您想使用您使用工作表名称指定的特定工作表名称,可以尝试使用
Sub Insert_Formula()
For Each cell In Range("sheetNames")
Sheets(cell.Text).Range("F3:F50").Formula = "=SUMIFS(Jul!$K:$K,Jul!$H:$H,$C$1,Jul!$J:$J,$C3)"
Next
End Sub