Как Открыть Окно Аргументы Функции в Excel • Дополнительная информация

Как поместить подсказку в пользовательскую функцию

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

не только для мастера вставки формулы, но и в поле формулы, поэтому, если я нажму «=myFun(» на «(» всплывающая подсказка появляется так же, как и для «=average(«

нет никакой помощи в помощи VBA, нет на MSDN и ни на одном из выделенных форумов Excel и VBA я не могу найти, поэтому это явно длинный выстрел.

9 ответов

профессиональное развитие в Excel Стивен Буллен описывается Регистрация функции, которая позволяет описание для отображения в функции Диалог аргументов:

чтобы открыть диалоговое окно аргументы функции, введите имя функции и нажмите Ctrl A . Кроме того, нажмите символ » fx » в Формуле бар:

enter image description here

не решение подсказки, но адекватное обходное решение:

начните вводить UDF =MyUDF( нажмите клавишу CTRL + Shift + A и ваши параметры функции будут показаны. Пока эти параметры имеют значимые имена, у вас, по крайней мере, есть жизнеспособное приглашение

Я знаю, что вы приняли ответ на этот вопрос, но теперь есть решение, которое позволяет получить окно завершения стиля intellisense, как и для других функций excel, с помощью добавления Excel-ДНК или путем регистрации сервера intellisense внутри вашего собственного добавления. посмотреть здесь.

теперь я предпочитаю способ C# — это намного проще, так как внутри Excel-DNA любой класс, который реализует IExcelAddin подхватывается платформой addin и имеет AutoOpen() и AutoClose() выполнить когда вы открываете / закрываете add in. Так что вам просто нужно это:

а затем (и это только что взято со страницы github), вам просто нужно использовать аннотации ExcelDNA для ваших функций:

которые аннотируются с помощью аннотаций ExcelDNA, сервер intellisense подберет имена и описания аргументов.

enter image description here enter image description here

есть примеры использования его только с помощью VBA, но я не слишком в своем VBA, поэтому я не использую эти части.

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

возврат каретки улучшает читаемость с помощью wordwrap on. 2 птиц с одним камнем, теперь функция имеет некоторую документацию.

к сожалению, нет возможности добавлять подсказки для Аргументов UDF.
Чтобы расширить ответ Remou, вы можете найти более полный, но более сложный подход к описаниям мастера функций по адресу
http://www.jkp-ads.com/Articles/RegisterUDF00.asp

много танцев вокруг ответа. Вы можете добавить контекстную справку UDF, но вам нужно экспортировать модуль и отредактировать содержимое в текстовом редакторе, а затем повторно импортировать его в VBA. Вот пример из чипа Пирсона:Добавление Атрибутов Код

метод@will является лучшим. Просто добавьте несколько строк о деталях для людей, которые не использовали ExcelDNA раньше, как я.

есть две версии, одна для 64, проверьте версию Excel. Для моего случая я использую версию 64.

откройте Excel / Developer / Add-Ins / обзор и выберите ExcelDna.IntelliSense64.XLL-модуль.

вставить новый лист, измените имя на»IntelliSense«, добавить описание функции, как https://github.com/Excel-DNA/IntelliSense/wiki/Getting-Started

enter image description here

Также Вы можете использовать этот макрос для назначения описаний Аргументам и UDF:

я попробовал подход @ScottK, сначала как побочную функцию моего функционального UDF, а затем как автономную версию суффикса _Help, когда я столкнулся с проблемой (см. ниже). Оглядываясь назад, последний подход в любом случае лучше-более очевиден для пользователя, достаточно внимательного, чтобы увидеть подсказку инструмента, и он не загромождает функциональный код.

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

откроется окно msgBox с текстом справки. MsgBox ограничен ~1000 символами, возможно, это 1024. Но этого достаточно (едва 8^/) для моей чрезмерно обманутой функции интерполяции. Если это не так, вы всегда можете открыть форму и идем в город.

при первом открытии окна сообщения он выглядел как успех. Но есть пара проблем. Во-первых, конечно, пользователь должен знать, чтобы ввести функцию без аргументов (+1 для суффикса _Help UDF).

на большой проблема в том, что msgBox открывается несколько раз подряд, спонтанно при работе в несвязанных частях книги. Излишне говорить, что это очень раздражает. Иногда это продолжается, пока я не получаю круговое предупреждение. Иди разберись. Если UDF может изменить формулу ячейки, I сделал бы это, чтобы заткнуться.

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

Как создать пользовательскую функцию в Excel, используя VBA
Есть несколько встроенных функций, которые могут принимать аргументы в виде массива, также вы можете сделать свою собственную функцию VBA. Давайте рассмотрим простой пример: вам нужно создать функцию, в которой вы суммируете значения из диапазона, в котором у вас есть числа и текст.
[expert_bq id=»1570″]cnt а в этом аргументе вам нужно указать количество символов для удаления если вы хотите удалить более одного символа из текста. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] В качестве аргумента функции может быть использован массив. Массив представляет собой ряд значений, разделенных точкой с запятой и заключенных в скобки. В приведенной ниже формуле используется функция ИЛИ, в качестве аргумента которой применен массив. Формула возвращает ИСТИНА, если ячейка А1 содержит значение 1, 3 или 5.
после этого определить тип данных для ПФ

Функция ЕСЛИ в Excel. Как использовать? ЭКСЕЛЬ ХАК

В качестве оператора ссылки на диапазон в Lotus 1-2-3 и Quattro Pro используются две точки (..), например A1..A10. Excel позволяет использовать такой оператор при вводе формулы. Однако как только формула будет введена, Excel заменит его собственным оператором ссылки на диапазон – двоеточием (:).

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: