rclarion писал(а):уважемый MVP из Мадрида -
От столь титулованной особы можно было ожидать указания реального решения (формулы массива) - а не ложного суждения типа я не знаю и значит это невозможно.
Документы на MVP в студию ...
1) Читайте свою постановку задачи и представленную функцию и думайте, чего же не хватило для понимания хода ваших мыслей
2) Удивите меня. Я с готовностью поучусь у вас создавать формулы массива, которые делают все или даже часть из того, что перечисленно ниже (т.е. то, что делает ваша UDF):
- меняет шрифт на жирный
- вводит значения в другие ячейки, в которые сама формула не введена (причем на заранее заданном листе)
- динамически распространяется на нужное кол-во столбцов и строк
- меняет высоту строки
- меняет ширину столбца
3) Формулы массива полностью подпадают под данное мною ранее определение:
- может возвращать значение/я в ячейке, куда она введена
- не может создавать, изменять или удалять объекты или их свойства
4) Когда ваш праведный гнев поутихнет, я с удовольствием поведаю вам о возможностях, преимуществах и недостатках формул массива
Пока-что примите вашу функцию приспособленную под формулу массива:
- Код: Выделить всё
Public Function test(ByVal stock_id As Long)
'Инструкции получения рекордсета, где наверное используется переменная stock_id
test = rcs.GetRows
'Инструкции закрытия рекордсета
End Function
Примечание: Во избежание циклической ссылки, формула должна вводиться вне диапазона запроса (в случае если формула находится на листе, с которого получаются данные в рекордсет).