在特定工作表上填充具有命名范围的数组

时间:2014-02-03 00:58:36

标签: arrays excel vba range named

我是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

非常感谢任何帮助。

1 个答案:

答案 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