powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Пользовательская функция. Определить, что используется формула массива.
4 сообщений из 4, страница 1 из 1
Excel. Пользовательская функция. Определить, что используется формула массива.
    #39204395
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется пользовательская функция, которая может использоваться и как скалярная, и как формула массива. При этом она должна давать разные результаты.

Вопрос: как определить, каково её использование в конкретном случае?

Встроенные функции это могут.

Пример: Введите в диапазон ячеек несколько текстовых литералов. В отдельной ячейке введите формулу
Код: vbnet
1.
=СУММ(ДЛСТР(диапазон))


Если ввести формулу как скалярную - значение функции будет равно длине литерала в первой (левой верхней) ячейке, если ввести как формулу массива - то значение функции будет равно сумме длин всех литералов.
...
Рейтинг: 0 / 0
Excel. Пользовательская функция. Определить, что используется формула массива.
    #39204500
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

если речь про UDF, то вот это вроде должно подойти:
Код: vbnet
1.
2.
3.
4.
Function ttt(rr As Range)
    Debug.Print Application.Caller.HasArray
    ttt = Application.Sum(rr)
End Function


пример эфимерный, но суть определения введена UDF как формула массива или нет раскрывает.
...
Рейтинг: 0 / 0
Excel. Пользовательская функция. Определить, что используется формула массива.
    #39204501
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Pristэфимерныйэф е мерный :)
...
Рейтинг: 0 / 0
Excel. Пользовательская функция. Определить, что используется формула массива.
    #39204765
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist
Код: vbnet
1.
Application.Caller.HasArray


Спасибо, это оно самое.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Пользовательская функция. Определить, что используется формула массива.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]