如何引用非连续命名范围内的特定单元格?
How can I refer to specific cell within non contiguous named range?
我正在尝试创建一个新的命名范围,以引用非连续命名范围中的特定单元格。请看示例图片:
Named_range 由两个范围组成,K4:K7 和 L8:L10。
我找不到引用特定单元格的方法,例如单元格 4 (K7) 和 6 (L9)。
我尝试使用索引 =index(Named_range,4) 但它仅适用于单元格 4。对于单元格 6,它引用 K9 而不是 L9。
想要的结局是这样的:
ThisWorkbook.Names.Add Name:="Named_range_cell_6", RefersTo:=Index("Named_range", 6)
我找不到参考现有 Named_range 创建命名范围的方法,就像在 "INDEX(Named_range,6)" 尝试中一样。 Range("Named range").Item(6) 之类的东西做完全相同的事情,指的是一行或一列中的东西。我想根据索引引用一个特定的单元格,无论它是连续的还是非连续的范围。
有什么方法可以实现我想要做的事情吗?
如果范围严重不相交,则需要循环:
Sub luxation()
Dim i As Long, r As Range
Union(Range("K4:K7"), Range("L8:L10")).Name = "Named_range"
i = 1
For Each r In Range("Named_range")
If i = 6 Then
r.Name = "Named_range_6"
End If
i = i + 1
Next r
MsgBox Range("Named_range_6").Address(0, 0)
End Sub
我正在尝试创建一个新的命名范围,以引用非连续命名范围中的特定单元格。请看示例图片:
Named_range 由两个范围组成,K4:K7 和 L8:L10。 我找不到引用特定单元格的方法,例如单元格 4 (K7) 和 6 (L9)。 我尝试使用索引 =index(Named_range,4) 但它仅适用于单元格 4。对于单元格 6,它引用 K9 而不是 L9。
想要的结局是这样的:
ThisWorkbook.Names.Add Name:="Named_range_cell_6", RefersTo:=Index("Named_range", 6)
我找不到参考现有 Named_range 创建命名范围的方法,就像在 "INDEX(Named_range,6)" 尝试中一样。 Range("Named range").Item(6) 之类的东西做完全相同的事情,指的是一行或一列中的东西。我想根据索引引用一个特定的单元格,无论它是连续的还是非连续的范围。
有什么方法可以实现我想要做的事情吗?
如果范围严重不相交,则需要循环:
Sub luxation()
Dim i As Long, r As Range
Union(Range("K4:K7"), Range("L8:L10")).Name = "Named_range"
i = 1
For Each r In Range("Named_range")
If i = 6 Then
r.Name = "Named_range_6"
End If
i = i + 1
Next r
MsgBox Range("Named_range_6").Address(0, 0)
End Sub