我正在编写一个非常长的脚本,并且我试图找到尽可能多的快捷方式。我需要在开始之前设置很多范围。是否可以替换类似的东西:
Dim Range1 As Range
Dim Range2 As Range
Dim Range3 As Range
Dim i As Long
i = 2
Set Range1 = ("D" & i)
Set Range2 = ("H" & i)
Set Range3 = ("L" & i)
有些喜欢
Dim Range1 As Range
Dim Range2 As Range
Dim Range3 As Range
Dim i As Long
Dim y As Long
i = 2
y = 4
Set Range1 = ("D" & i)
Set Range2 = (Range1.Offset(,y))
Set Range3 = (Range2.Offset(,y))
如果我要设置100个范围,彼此之间的距离相等,那将非常有用。如果我要使用100个范围,我是否需要像我这里一样对每个范围进行调暗?或者我可以做"设置RangeN作为范围,其中N是1到100之间的每个整数?"
提前致谢。
答案 0 :(得分:2)
你可以使用字典。
Sub ex()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim i As Integer, y As Integer
Dim key
y = 4
For i = 0 To 2
dict.Add i, Range("D2").Offset(, y * i)
Next
For Each key In dict
dict(key).Value = "test" & key
Next
End Sub
dict(i)将是一个范围,你可以做任何你正常的事情。