Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA Вернуть диапазон в список
 
Добрый день, уважаемые форумчане!
Пробую создать функцию на vba, которая будет неким аналогом ВПР, но выдавать сразу диапазон значений. Саму функцию не планирую использовать отдельно, только как аргумент для другой функции или в списке.

Как я себе представляю работу функции:
Diapason(table as range; znachenie as variant; nomer1 as byte; nomer2 as byte) as Range
Функция берет таблицу, в столбце1(nomer1) ищет искомое значение, если совпадает, то выдает адрес на ячейку из столбца2.
Столбец1 отфильтрован.
Хочу, чтобы вставив в список следующую формулу, мне выдавало 5-10, 11-15, 16-20
Diapason(именованнаятаблица; "яблоко"; 1; 2)

У меня получилось считать количество повторений значений, а также найти первое значение. Но что делать дальше я не понимаю.
Код
Option Base 1
Function diapason(table As Range, znachenie As String, nomer1 As Byte, nomer2 As Byte) As Range
Dim a As Byte
a = table.Rows.Count
Dim b As Byte, d As Byte
b = 0: d = 0

Dim i As Byte
For i = 1 To a
    If table(i, nomer1) = znachenie And b = 0 Then b = i
    If table(i, nomer1) = znachenie Then d = d + 1
    If table(i, nomer1) <> znachenie And d > 0 Then Exit For
Next i

diapason = ???
End Function
Выпадающий список из столбца /строки именованного диапазона
 
Добрый день!
Искал на форумах, но к сожалению не нашел ответа на свой вопрос.
Есть к примеру именованный диапазон ячеек.
Если диапазон линейный(т.е. состоит из одного столбца/строки), то я могу сделать из него выпадающий список, прям задав имя диапазона в -данные-проверка данных - список.
Проблема заключается в том, что у меня не получается сделать аналогичную штуку для двумерного диапазона. Нет ли в excel такой возможности, чтобы я задал выпадающем списке имя диапазона + номер стоблца/строки этого диапазона, и в выпадающем списке появился этот столбец/строка?
Что-то вроде имя_диапазона(1,0) - и в выпадающем списке отображается первая строка.

Upd.
Занятно что если сделать список из линейного именованного диапазона, а затем этот диапазон превратить в двумерный, то список будет работать - и на выбор можно сделать любое значение из диапазона. К сожалению это не то, что требуется.
Изменено: shtirlic39 - 27.05.2018 17:54:03
Страницы: 1
Наверх