Как я могу сослаться на определенную ячейку c в несмежном именованном диапазоне? - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь создать новый именованный диапазон со ссылкой на определенную ячейку c в несмежном именованном диапазоне. См. Пример изображения:

enter image description here

Named_range состоит из двух диапазонов, K4: K7 и L8: L10. Я не могу найти способ обратиться к определенным ячейкам c, например ячейкам 4 (K7) и 6 (L9). Я попытался использовать index, = 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 («Именованный диапазон»). Item (6) делают то же самое, ссылаясь на объекты в одной строке или столбце. Я хочу сослаться на ЭТО одну конкретную c ячейку на основе ее индекса, независимо от того, является ли она непрерывным или несмежным диапазоном.

Есть ли способ достичь того, что я пытаюсь сделать?

1 Ответ

1 голос
/ 09 мая 2020

Если диапазон сильно не пересекается, вам понадобится al oop:

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...