Динамический именованный диапазон с перемещением данных ниже

Я пытаюсь создать динамический именованный диапазон, который можно использовать для списка проверки данных. Я использую их все время, но в этом случае у меня есть информация, которая находится ниже диапазона, и не может быть учтена в этом диапазоне. Кроме того, у меня есть макрос, который вставляет строки в этот диапазон, которые необходимо подсчитать.

Я обычно использовал бы что-то подобное, если бы в столбце больше ничего не было: = OFFSET ($ A $ 1,0,0, COUNTA ($ A: $ A), 1)

Мне нужно начать это немного ниже по странице, поэтому я использовал: = OFFSET ($ A $ 24,0,0, COUNTA ($ A $ 24: $ A24), 1)

Обратите внимание, что я удалил знак «$» перед последними «24» в формуле, надеясь, что он соответствующим образом расширится, но это не похоже на согласованность.

По сути, мне нужно, чтобы диапазон COUNTA включал только диапазон ячеек, которые всегда будут расти и уменьшаться.

Я неплохо разбираюсь в VBA и открыт для решения, которое может включать в себя цикл по диапазону ячеек и остановку по достижении ячейки, значение которой равно определенной текстовой строке (в этом случае это будет .Value = "Request 1" ). Но я немного опасаюсь загрузки формы или элемента управления ActiveX, поскольку в прошлом это вызывало у меня проблемы с функциями просмотра и печати.


person Devin Roberts    schedule 03.10.2017    source источник


Ответы (1)


Я использовал следующий код для создания диапазона в другом месте книги, который затем можно было бы легко использовать для создания динамического именованного диапазона:

Sub UpdateEntities()

Dim i As Long, x As Long

i = 24
x = 1

Sheets("Values").Range("AH:AH").ClearContents

Do While Cells(i, 1).Value <> "REQUEST 1"

Cells(i, 1).Select

If ActiveCell.Value <> "" Then
Sheets("Values").Cells(x, 34).Value = ActiveCell.Value
i = i + 1
x = x + 1
Else
i = i + 1
End If

Loop

End Sub
person Devin Roberts    schedule 03.10.2017