使用命名范围遍历工作表

Use named range to loop through sheets

我有一个包含 30 个字符串值的命名范围。每个字符串值也用作 sheet 的名称。我想知道是否可以遍历范围内的每个字符串以编辑它各自的 sheet。我经历了一些试验和错误,但仍然卡住了。任何帮助将不胜感激。

Option Explicit

Sub NamedRanges()

Dim ws As Worksheet
Dim rng As Variant

rng = Sheets("Teams").Range("TeamList_Full")

For Each ws In rng
    ws.Range("A36").Value2 = 2
    Next ws

End Sub

你可以这样做:

Sub NamedRanges()

    Dim c As Range
    
    For Each c In ThisWorkbook.Worksheets("Teams").Range("TeamList_Full").Cells
        ThisWorkbook.Worksheets(c.Value).Range("A36").Value2 = 2
    Next c

End Sub

由于您似乎针对每个 sheet 上的 相同 单元格,您还可以通过避免循环来实现您的目标

Sub NamedRanges()
    Dim sh As Worksheet, rng As Range
    Set rng = Worksheets("Teams").Range("TeamList_Full")
    Set sh = Worksheets(rng.Cells(1).Value2)
    sh.Range("A36").Value2 = 2
    Worksheets(WorksheetFunction.Transpose(rng.Value2)).FillAcrossSheets sh.Range("A36")
End Sub