使用命名范围遍历工作表
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
我有一个包含 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