Подсказки для функций в excel

Хитрости »

27 Август 2020              20430 просмотров


Почти каждый, кто освоил написание собственных функций пользователя(UDF)(если еще не знаете что это такое — Что такое функция пользователя(UDF)?), рано или поздно сталкивается с тем, что справка для них недоступна, описание функции и её аргументов тоже. Т.е. по умолчанию окно вызова UDF, в отличии от встроенных функций, выглядит очень неинформативно:
Стандартное окно вызова UDF

А хотелось бы как минимум так:
Окно вызова UDF с описанием

И возникает вопрос – а возможно ли вообще добавить описание к функции и аргументам? Можно. И есть как разные способы, так и нюансы у каждого из них:

  • Добавление описания к UDF без «кодинга»
  • Добавление описания к UDF кодом VBA(все версии)
  • Добавление описания к UDF и её аргументам в Excel(Excel 2010 и выше)
  • Добавление описания к UDF и её аргументам в Excel(Excel 2007 и ниже)

Добавление описания к UDF без «кодинга»
Это самый простой способ. Покажу на примере простой функции:

Function ТекущаяДата()
    ТекущаяДата = Date
End Function

Что надо сделать? Для начала надо заменить Function на Sub:

Sub ТекущаяДата()
    ТекущаяДата = Date
End Sub

После этого переходим в окно Excel -вкладка Разработчик(Developer)Макросы(Macros). Находим там переименованную в Sub функцию -нажимаем кнопку Параметры(Options) и в появившемся окне заполняем поле Описание(Description):
Добавление описания к UDF без макросов
Нажимаем Ок, закрываем первое окно(с перечнем макросов). После этого переименовываем обратно Sub в Function. Сохраняем файл. Переходим в диспетчер функций и в категории Определенные пользователем(User Defined) находим нашу функцию «ТекущаяДата». Выделяем и видим, что для неё теперь есть описание:
UDF с подсказкой


Добавление описания к UDF кодом VBA(все версии)

Тоже самое можно сделать и при помощи кода. Он несложный и работает(как и следовало ожидать) во всех версиях:

Sub RegisterUDF_AllVersions()
    Application.MacroOptions _
            Macro:="ТекущаяДата", _
            Description:="Возвращает в ячейку текущую дату"
End Sub

Основные моменты:

  • Macro – здесь записываем имя функции. Текст буковка в буковку должен совпадать с именем нашей функции, иначе получим ошибку «Метод ˈMacro Optionsˈ of object ˈ_Applicationˈ failed», т.к. VBA не найдет сопоставления записанного текста с реальной процедурой или функцией.
  • Description – это и есть наше описание. Здесь маленький нюанс: текст описания не должен превышать 255 символов. Иначе получим все ту же ошибку «Метод ˈMacro Optionsˈ of object ˈ_Applicationˈ failed».

И очень важный момент: вызов Application.MacroOptions должен происходить исключительно тогда, когда открыта и отображена хотя бы одна книга. Иначе опять же получим все ту же ошибку «Метод ˈMacro Optionsˈ of object ˈ_Applicationˈ failed». И конечно, код регистрации функций таким образом надо делать каждый раз при открытии книги с UDF, т.к. сразу после закрытия книги с UDF регистрация функций сбрасывается(что логично, т.к. сами UDF становятся недоступными). Поэтому процедуру RegisterUDF_AllVersions правильнее всего запускать в момент открытия книги через событие Workbook_Open(о том где искать это событие можно почитать в этой статье: Модуль книги)
В отличии от «ручного» метода – через MacroOptions можно указать в какую категорию добавить свою функцию. Добавить можно как в существующие(Математический, Дата и время и т.п.), так и в собственную. Правильнее всего либо не указывать категорию, либо делать это в собственной(чтобы не было путаницы среди встроенных функций).
Код добавления в собственную категорию:

Sub RegisterUDF_AllVersions()
    Application.MacroOptions _
            Macro:="ТекущаяДата", _
            Description:="Возвращает в ячейку текущую дату", _
            Category:="Excel-VBA.ru"
End Sub

Но если все же необходимо добавить в имеющиеся категорию свою функцию, в параметре Category необходимо указать порядковое число нужной категории. Числа, используемые Excel в MacroOptions, перечислены в таблице ниже:

Номер Категория Категория на англ
1 Финансовые Financial
2 Дата и время Date & Time
3 Математические Math & Trig
4 Статистические Statistical
5 Ссылки и массивы Lookup & Reference
6 Работа с базой данных Database
7 Текстовые Text
8 Логические Logical
9 Информация Information
14 Определенные пользователем User Defined

Например, чтобы добавить нашу функцию «ТекущаяДата» в категорию Дата и Время необходимо указать номер категории 2:

Sub RegisterUDF_AllVersions()
    Application.MacroOptions _
            Macro:="ТекущаяДата", _
            Description:="Возвращает в ячейку текущую дату", _
            Category:=2
End Sub

Добавление описания к UDF и её аргументам в Excel(Excel 2010 и выше)

Однако описанными способами можно добавить описание только к самой функции – аргументы так и останутся без пояснений.
Но начиная с версии 2010 в Excel появилась возможность через MacroOptions добавить описание и к аргументам. Это делается несложно.
Добавим для нашей функции ТекущаяДата аргумент:

Function ТекущаяДата(Только_месяц As Boolean)
    If Только_месяц Then
        ТекущаяДата = Month(Date)
    Else
        ТекущаяДата = Date
    End If
End Function

Аргумент Только_месяц будет отвечать за то, как записать дату: либо как дату в формате даты-времени Excel, либо только номер месяца. Т.к. тип назначен Boolean, то и указывать при записи функции мы должны либо ИСТИНА(TRUE) либо ЛОЖЬ(FALSE). Добавим описание через MacroOptions:

Sub RegisterUDF_2010()
    Application.MacroOptions _
            Macro:="ТекущаяДата", _
            Description:="Возвращает в ячейку текущую дату", _
            Category:="Excel-VBA.ru", _
            ArgumentDescriptions:=Array("ИСТИНА, если в ячейку необходимо записать только номер месяца")
End Sub

Подсказка к аргументам
За описания к аргументам отвечает параметр ArgumentDescriptions. Обращаю внимание, что передавать описания необходимо именно через массив(Array). И текст внутри кавычек не должен превышать 255 символов. Иначе явной ошибки выполнения хоть и не будет, но и описание к аргументам не добавится.
Если у нас более одного аргумента – то в Array мы записываем текст в кавычках через запятую. Например, добавим еще один аргумент: МесяцКакЧисло. Он отвечает за то, записать месяц его порядковым числом или записать его имя. Функция примет вид:

Function ТекущаяДата(Только_месяц As Boolean, МесяцКакЧисло As Boolean)
    If Только_месяц Then
        If МесяцКакЧисло Then
            ТекущаяДата = Month(Date)
        Else
            ТекущаяДата = MonthName(Month(Date))
        End If
    Else
        ТекущаяДата = Date
    End If
End Function

И соответственно, добавляем описание для второго аргумента:

Sub RegisterUDF_2010()
    Application.MacroOptions _
            Macro:="ТекущаяДата", _
            Description:="Возвращает в ячейку текущую дату", _
            Category:="Excel-VBA.ru", _
            ArgumentDescriptions:= _
                Array("ИСТИНА, если в ячейку необходимо записать только номер месяца", _
                      "ИСТИНА, если в ячейку необходимо записать имя месяца(если аргумент 'Только_месяц' = ИСТИНА)")
End Sub

Здесь важно помнить, что описания к аргументам должны идти в том же порядке, в котором записаны сами аргументы для функции. Иначе описания будут назначены неправильно. Длина описания для каждого аргумента(не всего текста внутри Array!) не должна превышать 255 символов.


Добавление описания к UDF и её аргументам в Excel(Excel 2007 и ниже)

А как быть с пользователями, у которых нет 2010 Excel и выше? Да, остались еще и такие. И их немало. Здесь все несколько сложнее и печальнее. Парочка отличающих моментов:

  1. Необходимо обязательно указать имя библиотеки DLL на ПК, в которой будем хранить все описания. Здесь лучше указывать DLL вроде user32.dll, т.к. она есть на всех ПК под Windows
  2. Для каждой UDF необходимо указывать еще и функцию в выбранной DLL, в которой мы будем хранить наше описание. Что куда сложнее, т.к. далеко не все знают какие функции в какой DLL вообще хранятся
  3. Если в методе MacroOptions мы могли для каждого аргумента и для самого описания функции указать до 255 символов, то здесь ограничение в 255 символов относится ко всему тексту вообще. Т.е. и описание самой функции и описание к её аргументам все вместе не должны превышать 255 символов(и более того: сюда еще входит и имя DLL и имя функции и имена аргументов и еще чутка попутного хлама)). Это значительно усложняет выдумывание описаний, т.к. они должны быть краткими и понятными одновременно
  4. Отменять регистрацию описаний к функции нам придется самостоятельно

Итак, сам метод на примере все той же функции ТекущаяДата с двумя аргументами:

Sub CallRegister2007()
    Dim szArgString As String
    szArgString = "REGISTER(""user32.dll"",""CharNextA"",""" & String$(3, "P") _
        & """,""ТекущаяДата"",""Только_месяц,МесяцКакЧисло""," & 1 & ",""Excel-VBA.ru" _
        & """,,,""Возвращает в ячейку текущую дату"",""Записать только номер месяца"",""Записать имя месяца если 'Только_месяц'=True"")"
 
    'Длина описания к аргументам и самой функции(szArgString) не должна превышать 255 символов
    If Len(szArgString) <= 255 Then
        Application.ExecuteExcel4Macro szArgString
    Else
        MsgBox "Описание содержит более 255 символов", vbExclamation, "www.excel-vba.ru"
    End If
End Sub

Здесь мы используем весьма древнюю функцию REGISTER из набора макрокоманд. Эта команда использовалась ранее для регистрации DLL, но нашла применение и в такой экзотической форме. Основные моменты:

  • user32.dll – существующая на компьютере библиотека DLL, в которой есть общедоступные функции API
  • CharNextA – имя функции API внутри указанной DLL(если не вдаваться в подробности, то с ней ассоциируем описания для нашей функции)
  • String$(3, «P») – функция String повторяет указанный символ(Р) заданное число раз(3). Число 3 получается из: 2 аргумента + описание к самой функции. Буква P вписана не случайно: функция REGISTER требует именно эту букву для регистрации функций(есть еще другие обозначения, но нам они не нужны)
  • Все остальное должно быть уже интуитивно понятно. Особое внимание кавычкам и запятым: ничего лишнего здесь нет, все как положено, даже если между кавычками ничего не записано или где-то кажется много или мало кавычек.
    И в итоге получаем текст szArgString, который и не должен превышать 255 символов. Поэтому каждый символ на счету и имеет смысл не прописывать функцию в отдельную категорию, а либо оставить её в категории по умолчанию(Определенные пользователем), либо указать любую иную из существующих. Тогда надо указать лишь число и мы сэкономим чутка символов. Запись будет такая:

    szArgString = "REGISTER(""user32.dll"",""CharNextA"",""" & String$(3, "P") _
            & """,""ТекущаяДата"",""Только_месяц,МесяцКакЧисло""," & 1 & "," & 14 _
            & ",,,""Возвращает в ячейку текущую дату"",""Записать только номер месяца"",""Записать имя месяца если 'Только_месяц'=True"")"

    Так же, в отличии от метода MacroOptions, зарегистрированные таким образом функции необходимо принудительно «выключать» при закрытии файла(для этого как правило используется событие Workbook_BeforeClose(о том где искать это событие можно почитать в этой статье: Модуль книги). Код для выключения:

    Sub CallUnregister2007()
        'Для исключения ошибки перерегестрируем функцию
        Application.ExecuteExcel4Macro "REGISTER(""user32.dll"",""CharNextA"",""P"",""ТекущаяДата"",,0)"
        'удаляем функцию
        Application.ExecuteExcel4Macro "UNREGISTER(ТекущаяДата)"
    End Sub

    Однако все эти коды не делают одного: они не работают в режиме записи функций в ячейку без использования диспетчера функций(т.е. непосредственный ввод функций в ячейку без использования мастера функций). Ни описание функции, ни описания аргументов показаны не будут и обойти это нельзя никак. Этот функционал для собственных функций доступен исключительно при написании функций в надстройках XLL(надстройки функций, которые можно создать только в языках вроде С, в VBA не доступно).

    В приложенном к статье файле Вы найдете усложненный код регистрации функций. Он автоматически определяет версию Excel и применяет нужный метод, проверяет кол-во символов и конечно, запускается при открытии книги и при закрытии «убирает» описания(если необходимо). Сами описания и имена функций создаются на отдельном листе RegisterUDF_Description, где необходимо записать имена нужных функций, имена аргументов и описания к функции и аргументам. Так же там предзаполнены 14 функций API из user32.dll для возможности самостоятельной регистрации.
    Скачать пример:

      Создание подсказок для UDF.xls (97,5 KiB, 392 скачиваний)


    Статья помогла? Поделись ссылкой с друзьями!

      Плейлист   Видеоуроки


    Поиск по меткам

    

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    I tried @ScottK’s approach, first as a side feature of my functional UDF, then as a standalone _Help suffix version when I ran into trouble (see below). In hindsight, the latter approach is better anyway—more obvious to a user attentive enough to see a tool tip, and it doesn’t clutter up the functional code.

    I figured if an inattentive user just typed the function name and closed the parentheses while he thought it over, help would appear and he would be on his way. But dumping a bunch of text into a single cell that I cannot format didn’t seem like a good idea. Instead, When the function is entered in a cell with no arguments i.e.

       = interpolateLinear() 
    or
       = interpolateLinear_Help()
    

    a msgBox opens with the help text. A msgBox is limited to ~1000 characters, maybe it’s 1024. But that’s enough (barely 8^/) for my overly tricked out interpolation function. If it’s not, you can always open a user form and go to town.

    The first time the message box opened, it looked like success. But there are a couple of problems. First of course, the user has to know to enter the function with no arguments (+1 for the _Help suffix UDF).

    The big problem is, the msgBox reopens several times in succession, spontaneously while working in unrelated parts of the workbook. Needless to say, it’s very annoying. Sometimes it goes on until I get a circular reference warning. Go figure. If a UDF could change the cell formula, I would have done that to shut it up.

    I don’t know why Excel feels the need recalculate the formula over and over; neither the _Help standalone, nor the full up version (in help mode) has precedents or dependents. There’s not an application.volatile statement anywhere. Of course the function returns a value to the calling cell. Maybe that triggers the recalc? But that’s what UDFs do. I don’t think you can not return a value.

    Since you can’t modify a worksheet formula from a UDF, I tried to return a specific string —a value —to the calling cell (the only one you can change the value of from a UDF), figuring I would inspect the cell value using application.caller on the next cycle, spot my string, and know not to re-display the help message. Seemed like a good idea at the time—didn’t work. Maybe I did something stupid in my sleep-deprived state. I still like the idea. I’ll update this when (if) I fix the problem. My quick fix was to add a line on the help box: «Seek help only in an emergency. Delete the offending formula to end the misery.

    In the meantime, I tried the Application.MacroOptions approach. Pretty easy, and it looks professional. Just one problem to work out. I’ll post a separate answer on that approach later.

    На чтение 20 мин. Просмотров 12.4k.

    Формулы — это основа основ Excel. Если вы работаете с Excel регулярно, держу пари, вы используете много формул. Но создание рабочей формулы может занять слишком много времени. В этой статье я поделюсь некоторыми полезными советами, которые позволят сэкономить ваше время при работе с формулами в Excel.

    Содержание

    1. 1. Не добавляйте последние скобки в функции
    2. 2. При перемещении формулы не допускайте изменения ссылок
    3. 3. Не допускайте изменения ссылок при копировании формулы
    4. 4. Дважды щелкните маркер заполнения, чтобы скопировать формулы
    5. 5. Используйте таблицу для автоматического ввода формул
    6. 6. Используйте автозаполнение при вводе функций
    7. 7. Используйте Ctrl + клик для ввода аргументов
    8. 8. Используйте окно подсказки формулы, чтобы выбрать аргументы
    9. 9. Вставьте заполнители аргументов функции с помощью горячих клавиш
    10. 10. Уберите мешающую подсказку с обзора
    11. 11. Включить отображение всех формул одновременно
    12. 12. Выберите все формулы на рабочем листе одновременно
    13. 13. Используйте специальную вставку для преобразования формул в значения.
    14. 14. Используйте Специальную вставку, чтобы изменить значения одновременно
    15. 15. Используйте именованные диапазоны, чтобы сделать формулы более читабельными
    16. 16. Применять имена к существующим формулам автоматически
    17. 17. Сохраните формулу, которая еще не дописана
    18. 18. Будьте в курсе функций, которые предлагает Excel
    19. 19. Используйте клавишу F4 для переключения относительных и абсолютных ссылок
    20. 20. Помните, что формулы и функции возвращают значение. Всегда.
    21. 21. Используйте F9 для оценки частей формулы
    22. 22. Используйте функцию «Вычислить формулу»
    23. 23. Построить сложные формулы в небольших шагах
    24. 24. Используйте именованные диапазоны как переменные
    25. 25. Используйте конкатенацию, чтобы сделать заголовки понятными
    26. 26. Добавьте разрывы строк во вложенные ЕСЛИ (IF), чтобы их было легче читать
    27. 27. Вводите функции с автозаполнением
    28. 28. Используйте Автосумму для ввода формул СУММ (SUM)
    29. 29. Введите одну и ту же формулу одновременно в несколько ячеек.

    1. Не добавляйте последние скобки в функции

    Давайте начнем с чего-то по-настоящему простого! Когда вы пишите формулу, содержащую только одну функцию (СУММ, СРЗНАЧ и т.д.), вам не обязательно вводить заключительные закрывающие скобки. Например, вы можете просто ввести:

    = СУММ(A1:A10

    и нажмите Enter. Excel добавит закрывающие скобки за вас. Это хоть и мелочь, но удобная.

    Примечание: это не сработает, если ваша формула содержит более одного набора скобок.

    Закрывающая скобка опущена
    ДО: закрывающая скобка опущена
     нажатие Enter добавляет скобки автоматически
    ПОСЛЕ: нажатие Enter добавляет скобки автоматически

    2. При перемещении формулы не допускайте изменения ссылок

    Один из самых мощных инструментов Excel — это относительные ссылки. Когда вы копируете формулу в новое место, все относительные ссылки автоматически изменяются. Это очень удобно и экономит время, так как можно повторно использовать формулу, а не создавать ее заново.

    Но иногда нужно переместить или скопировать формулу в новое место, не изменяя ее. Есть несколько способов сделать это.

    Способ 1: Если вы просто перемещаете формулу в соседнее место, попробуйте перетаскивание. Перетаскивание сохранит все адреса в целости и сохранности.

    захватите край ячейки с формулой
    ШАГ 1: захватите край ячейки с формулой
    перетащите на новое место
    ШАГ 2: перетащите на новое место

    Способ 2: Если вы перемещаете формулу в более отдаленное место, используйте вырезание и вставку. Когда вы вырезаете формулу, ее ссылки не изменяются.

    Горячие клавиши:

    Windows: Ctrl + X, Ctrl + V

    Mac: Cmd + X, Cmd + V

    3. Не допускайте изменения ссылок при копировании формулы

    Примечание: можно сделать все ссылки на ячейки абсолютными. Предположим, что этот способ вам не подходит.

    Способ 1: Если вам просто нужно скопировать одну формулу, выберите ее в строке формул и скопируйте в буфер обмена. Затем вы можете вставить в новом месте. Результатом будет формула, идентичная оригиналу.

    Способ 2: Чтобы скопировать группу формул в новое место, не затрагивая ссылки, вы можете использовать поиск и замену.

    1. Выберите формулы, которые вы хотите скопировать
    2. Затем найдите и замените знак равенства (=) в формулах символом хеша (#). Это преобразует формулы в текст.
    3. Теперь скопируйте и вставьте формулы в новое место.
    4. После этого проделайте обратную операцию. Найдите хэш (#) и замените на знак равенства (=). Это восстановит формулы в рабочее состояние.

    4. Дважды щелкните маркер заполнения, чтобы скопировать формулы

    Когда вы добавляете формулы в таблицу, вы чаще всего копируете ее из первой строки вниз. Можно воспользоваться горячими клавишами для быстрой навигации по данным в Exce. Но дескриптор заполнения еще быстрее, потому что не нужно переходить к нижней части таблицы.

    Дескриптор заполнения — это маленький прямоугольник, который находится в правом нижнем углу всех выделений в Excel. Вам нужно просто дважды щелкнуть маркер заполнения, чтобы скопировать формулу до самого конца таблицы.

    Маркер заполнения
    Маркер заполнения
    Excel копирует формулу вниз
    Excel копирует формулу вниз

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

    Вы также можете заполнить формулы на листе, используя сочетание клавиш (Ctrl + D). При обработке большой группы ячеек, быстрее будет воспользоваться маркером заполнения.

    5. Используйте таблицу для автоматического ввода формул

    Еще более быстрый способ ввода формул — сначала преобразовать данные в Таблицу Excel. Терминология здесь вводит в заблуждение. Любые данные с более чем одним столбцом технически являются «таблицей», но Excel имеет формальную структуру, называемую таблицей, которая обеспечивает множество преимуществ.

    Как только вы преобразуете свои данные в таблицу (Ctrl + T), все формулы, введенные в первой строке, будут автоматически скопированы по всей длине таблицы. Это экономит много времени, а также помогает предотвратить ошибки.

    Введите формулу как обычно
    Введите формулу как обычно
    Нажмите Enter, чтобы скопировать формулу вниз
    Нажмите Enter, чтобы скопировать формулу вниз

    Когда вы обновляете формулу в таблице, Excel снова обновляет все аналогичные формулы в том же столбце.

    Примечание: формулы в таблице будут автоматически использовать структурированные ссылки (т.е. в приведенном выше примере = [@ Кол-во] * [@ Цена]

    6. Используйте автозаполнение при вводе функций

    Когда вы вводите знак равенства и начинаете печатать название функции, Excel сопоставляет введенный вами текст с огромным списком доступных функций. По мере ввода вы увидите список «потенциальных» функций, которые появятся ниже. Этот список будет сужаться с каждой печатной буквой. После того, как нужная функция выбрана в списке, вы можете «попросить» Excel ввести ее для вас, нажав клавишу Tab.

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

    Выберите нужную функцию и нажмите Tab
    Выберите нужную функцию и нажмите Tab
    Excel дописал функцию
    Excel дописал функцию

    7. Используйте Ctrl + клик для ввода аргументов

    Не любите вводить точку с запятой между аргументами? Excel может сделать это за вас. Когда вы вводите аргументы в функцию, просто удерживайте нажатой клавишу «Ctrl» (Mac: Command) при нажатии на каждую ссылку, и Excel автоматически введет для вас разделители.

    Например, вы можете ввести формулу: = СУММ(A1; B10; C5:C10), введя «= СУММ(», затем щелкнув по каждой ссылке, удерживая нажатой клавишу «Ctrl». Это работает с любой функцией, в которой можно использовать ссылки в качестве аргументов.

    Зажми Ctrl и выбери следующую ячейку
    Зажми Ctrl и выбери следующую ячейку
    Все еще зажимаем Ctrl и выбираем следующую ячейку
    Все еще зажимаем Ctrl и выбираем следующую ячейку
    Все разделители (;) были введены Excel
    Все разделители (;) были введены Excel

    8. Используйте окно подсказки формулы, чтобы выбрать аргументы

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

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

     Наведите курсор на аргумент в подсказке в строке ввода формул
    Наведите курсор на аргумент в подсказке в строке ввода формул
    Нажмите на аргумент, чтобы "подсветить" его внутри формулы
    Нажмите на аргумент, чтобы «подсветить» его внутри формулы

    9. Вставьте заполнители аргументов функции с помощью горячих клавиш

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

    Когда вы вводите функцию, после того, как Excel распознал имя функции, введите Ctrl + Shift + A (обе платформы).

    Например, если вы наберете «=ДАТА (» и затем используете Ctrl + Shift + A, Excel выдаст вам «= DATE (год, месяц, день)». Затем вы можете дважды щелкнуть каждый аргумент (или воспользоваться подсказкой функции окно для выбора каждого аргумента) и измените его на значение, которое вы хотите.

    Убедитесь, что функция распознана
    Убедитесь, что функция распознана
     Ctrl + Shift + A вставляет именованные аргументы
    Ctrl + Shift + A вставляет именованные аргументы

    10. Уберите мешающую подсказку с обзора

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

     Возьмитесь за край подсказки
    Возьмитесь за край подсказки
     Перетащите подсказку в удобное место
    Перетащите подсказку в удобное место

    11. Включить отображение всех формул одновременно

    Каждый раз, когда вы редактируете ячейку, содержащую формулу, Excel автоматически отображает формулу вместо ее результата. Но иногда нужно увидеть все формулы на рабочем листе одновременно. Для этого просто используйте сочетание клавиш для отображения формул: Ctrl + ~ (это тильда). С помощью этого трюка вы можете быстро включать и выключать отображение всех формул на листе. Это хороший способ проверить формулы на согласованность, увидев все формулы одновременно.

     Ctrl + `раскрывает все формулы
    Ctrl + `раскрывает все формулы
    Все формулы видны
    Все формулы видны

    12. Выберите все формулы на рабочем листе одновременно

    Еще один способ увидеть все формулы на рабочем листе — выбрать их. Вы можете сделать это, используя более мощные (и скрытые) функции в Excel: это окно Переход (Ctrl + G). С помощью этой команды вы можете выбрать все виды аргументов в Excel, включая пустые ячейки, ячейки с числами и многое другое. Один из вариантов — это ячейки, содержащие формулы.

    Чтобы выбрать все ячейки, содержащие формулы на листе, просто нажмите Ctrl + G, чтобы открыть диалоговое окно «Переход», затем нажмите кнопку «Выделить» и выберите «Формулы». Когда вы нажмете ОК, будут выбраны все ячейки, которые содержат формулы.

     Ctrl + G, чтобы открыть окно Переход
    Ctrl + G, чтобы открыть окно Переход
     Нажмите кнопку Выделить
    Нажмите кнопку Выделить
    Выберите формулы
    Выберите формулы
    Все формулы выбраны
    Все формулы выбраны

    Если вы хотите выбрать только подмножество формул на листе, сначала сделайте выбор, а затем используйте ту же команду.

    13. Используйте специальную вставку для преобразования формул в значения.

    Распространенной проблемой в Excel является необходимость остановить обновление рассчитанных значений. Например, вы хотите упростить рабочую таблицу, удалив вспомогательные столбцы, которые вы использовали для генерации определенных значений. Но если вы удалите эти столбцы с формулами, все еще ссылающимися на них, вы получите массу ошибок #ЗНАЧ. Решение состоит в том, чтобы сначала преобразовать формулы в значения, а затем удалить дополнительные столбцы. Самый простой способ сделать это — использовать Специальную вставку. Сначала выберите формулы, которые вы хотите преобразовать, и скопируйте в буфер обмена. Затем, когда формулы еще выбраны, откройте диалоговое окно «Специальная вставка» (Win: Ctrl + Alt + V, Mac: Ctrl + Cmd + V) и используйте параметр «Значения». Это заменит все формулы, которые вы выбрали, на значения, которые они рассчитали.

    Формулы выбраны и скопированы
    Формулы выбраны и скопированы
    Используйте Специальную вставку
    Используйте Специальную вставку
    Нет больше формул!
    Нет больше формул!

    14. Используйте Специальную вставку, чтобы изменить значения одновременно

    Другой распространенной проблемой в Excel является необходимость изменения большого количества значений одновременно. Например, возможно, у вас есть список из 500 цен на товары, и вам нужно увеличить все цены на 5%. Или, может быть, у вас есть список из 100 дат, которые нужно перенести на одну неделю? В таких случаях вы можете добавить столбец «Помощник» в таблицу, выполнить необходимые вычисления, преобразовать результаты в значения, а затем скопировать их в исходный столбец. Но если вам нужен только простой расчет, Специальная вставка поможет намного проще и быстрее, потому что вы можете изменить значение напрямую без каких-либо дополнительных формул.

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

    • добавьте число 7 к любой ячейке на рабочем листе
    • скопируйте его в буфер обмена
    • выберите все даты, которые вы хотите изменить
    • используйте Специальная вставка> Операция> Сложить
    • нажмите ОК

    Excel добавит число 7 к выбранным вами датам, сдвинув их на 7 дней вперед без необходимости создавать вспомогательные столбцы.

    Скопируйте временное значение и выберите даты
    Скопируйте временное значение и выберите даты
    Специальная вставка: значения + сложить
    Специальная вставка: значения + сложить
     Все даты перенесены на неделю
    Все даты перенесены на неделю

    Чтобы увеличить цены на 5%, используйте тот же подход. Введите «1.05» в ячейку и скопируйте в буфер обмена. Затем выберите цены, которые вы хотите изменить, и используйте Специальная вставка> Операция> Умножить, чтобы преобразовать все цены сразу. Как только вы освоите этот совет, вы найдете много способов его применения.

    Скопируйте временное значение и выберите цены
    Скопируйте временное значение и выберите цены
    Специальная вставка: значения + умножить
    Специальная вставка: значения + умножить
    Все цены выросли на 5%
    Все цены выросли на 5%

    Примечание: этот способ работает только со значениями. Не пытайтесь делать это с формулами!

    15. Используйте именованные диапазоны, чтобы сделать формулы более читабельными

    Это один самых старых профессиональных советов. Предположим, у вас есть простой рабочий лист, на котором есть данные о часах, , отработанных сотрудниками. Вам нужно рассчитать заработную плату, перемножив для каждого человека его рабочее время на почасовую ставку. Предполагая, что почасовая ставка находится в ячейке A1, ваши формулы могут выглядеть следующим образом:

    = B3 * $A$1
    = B4 * $A$1
    = B5 * $A$1

    Но если вы назовете ячейку A1 «почасовая_ставка», ваши формулы будут выглядеть так:

    = B3 * почасовая_ставка
    = B4 * почасовая_ставка
    = B5 * почасовая_ставка

    Таким образом, именование диапазонов делает формулы более удобочитаемыми и экономит время на вводе большого количества знаков доллара ($) для создания абсолютных ссылок.

    Создать именованный диапазон легко. Просто выберите диапазон/ячейку(и), которые хотите назвать, затем введите имя в поле для имени и нажмите ввод. Теперь, когда вы назвали диапазон, Excel будет использовать его всякий раз, когда вы указываете и нажимаете на диапазон при написании формулы. Нажав на именованный диапазон, вы увидите, что его имя автоматически вставляется в формулу.

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

    Первоначальная формула
    Первоначальная формула
    Ячейку C2 переименовали в "почасовая_ставка"
    Ячейку C2 переименовали в «почасовая_ставка»
    Формула использует именованный диапазон
    Формула использует именованный диапазон

    16. Применять имена к существующим формулам автоматически

    Что происходит, когда вы уже создали формулы, а затем создали именованный диапазон, который хотите использовать в них? На самом деле ничего. Excel не будет вносить никаких изменений в существующие формулы или предлагать автоматически применять новые имена диапазонов. Однако есть способ применить имена диапазонов к уже существующим формулам. Просто выберите формулы, к которым вы хотите применить имена, а затем используйте функцию «Применить имена» на вкладке Формулы.

    Когда откроется окно «Применить имена», выберите имена, которые вы хотите применить, и нажмите «ОК». Excel заменит любые соответствующие ссылки на выбранные вами имена.

     Выберите все ячейки формулы, чтобы применить к ним именованный диапазон
    Выберите все ячейки формулы, чтобы применить
    к ним именованный диапазон
    Применить имена на вкладке "Формулы" на ленте
    Применить имена на вкладке «Формулы» на ленте
     Выберите именованный диапазон для применения
    Выберите именованный диапазон для применения
    Именованный диапазон автоматически применен
    Именованный диапазон автоматически применен

    17. Сохраните формулу, которая еще не дописана

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

    Однако есть простой обходной путь: просто временно преобразуйте формулу в текст. Для этого вы можете добавить один апостроф в начало формулы (перед =) или просто полностью удалить знак равенства. В обоих случаях Excel перестанет пытаться оценить формулу и позволит вам ввести ее как есть. Позже вы можете вернуться к формуле и возобновить работу.

    18. Будьте в курсе функций, которые предлагает Excel

    Функции существуют для решения конкретных проблем. Вы можете думать о функции как о готовой формуле с определенным названием, целью и возвращаемым значением. Например, функция ПРОПНАЧ (PROPER) имеет только одну цель: она преобразует первую букву каждого слова в прописную. Дайте ей текст типа «ПОЕЗД чита — ЧЕЛябинск», и она вернет вам «Поезд Чита — Челябинск». Функции невероятно удобны, когда они решают вашу проблему, поэтому имеет смысл ознакомиться с функциями, доступными в Excel.

    Примечание: Людей часто смущает терминология, используемая для описания функций и формул. Простой способ не запутаться: все, что начинается со знака равенства в Excel, является формулой. По этому определению все функции также являются формулами, и формулы могут содержать несколько функций.

    19. Используйте клавишу F4 для переключения относительных и абсолютных ссылок

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

    Однако преобразование между относительными и абсолютными ссылками может создавать неудобства — ввод всех этих знаков доллара ($) утомителен и подвержен ошибкам. К счастью, есть отличная горячая клавиша, которая позволяет быстро переключаться между 4 вариантами, доступными для каждой ссылки: (Windows: F4, Mac: Command + T).

    Просто поместите курсор в ссылку, используя клавишу. Каждый раз, когда вы нажимаете ее, Excel будет «переходить» к следующему варианту в следующем порядке: полностью относительный (A1)> полностью абсолютный ($A$1)> абсолютный ряд (A$1)> абсолютный столбец ($A1).

    20. Помните, что формулы и функции возвращают значение. Всегда.

    Чаще всего проблемы с формулой возникают тогда, когда вы думаете, что часть формулы возвращает определенное значение, но на самом деле она возвращает что-то еще. Чтобы проверить, что на самом деле возвращается функцией или частью формулы, используйте подсказку F9.

    Примечание: Слово «возвращение» происходит из мира программирования, и иногда оно вводит в заблуждение людей, плохо знакомых с этой концепцией. В контексте формул Excel он используется следующим образом: «Функция ДЛСТР возвращает число» или «Формула в ячейке A1 возвращает ошибку». Всякий раз, когда вы слышите слово «возвращает» с формулой, просто думайте «результат».

    21. Используйте F9 для оценки частей формулы

    Клавиша F9 (Fn + F9 на Mac) может решать части формулы в режиме реального времени. Это фантастический инструмент для отладки больших формул, когда вам необходимо убедиться, что вы получите ожидаемый результат определенной части формулы.

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

    Примечание: В Windows вы можете отменить F9, но на Mac — нет. Чтобы выйти из формулы без внесения изменений, просто используйте Esc.

    22. Используйте функцию «Вычислить формулу»

    Когда использование F9 для оценки формулы становится слишком утомительным, приходит время использовать функцию «Вычислить формулу». «Вычислить формулу» решает каждый из ее компонентов по отдельности. Каждый раз, когда вы нажимаете кнопку «Вычислить», Excel решает подчеркнутую часть формулы и показывает результат. Вы можете найти функцию вычисления на вкладке Формулы на ленте в группе Зависимости формул.

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

    Примечание: Эта функция доступна только в версии для Windows. Версия для Mac использует другой подход, называемый Formula Builder, который отображает результаты при создании формулы. Функциональность отличается, но этот подход также очень полезен.

    23. Построить сложные формулы в небольших шагах

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

    Например, вы хотите написать формулу, которая извлекает имя из полного имени. Вы знаете, что могли бы использовать функцию ЛЕВСИМВ (LEFT), чтобы вытянуть текст слева, но вы не знаете, как рассчитать количество символов для извлечения. Начните с ЛЕВСИМВ (полное-имя; 5), чтобы формула заработала. Затем подумайте, как заменить число 5 на вычисленное значение. В этом случае вы можете определить количество извлекаемых символов, используя функцию НАЙТИ, чтобы определить положение первого пробела.

    24. Используйте именованные диапазоны как переменные

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

    В качестве бонуса, если ваши именованные диапазоны содержат текстовые значения, вам не нужно использовать кавычки вокруг текста при добавлении их в формулу. Эту идею немного сложно объяснить, но она существенно облегчит вам работу.

    25. Используйте конкатенацию, чтобы сделать заголовки понятными

    Когда вы создаете рабочую таблицу, основанную на определенных допущениях, может возникнуть проблема с четким пониманием сути таблицы. Часто на рабочем листе имеется определенная область для входных данных и другая область для выходных данных, и нет места для одновременного отображения обоих. Один из способов убедиться в том, что ключевые допущения понятны, — это встроить их названия непосредственно в заголовки, которые появляются на рабочем листе, используя конкатенацию, обычно с помощью функции ТЕКСТ.

    Например, обычно у вас может быть заголовок «Стоимость кофе», за которым следует рассчитанная стоимость. С конкатенацией вы можете сделать так, чтобы было написано: «Стоимость кофе (150 рублей за чашку)».

    26. Добавьте разрывы строк во вложенные ЕСЛИ (IF), чтобы их было легче читать

    Когда вы создаете вложенную формулу ЕСЛИ (IF), отслеживание истинных и ложных аргументов в скобках может привести к путанице. Когда вы будете закрывать скобки, легко ошибиться в логике. Однако существует простой способ сделать формулу с несколькими операторами ЕСЛИ (IF) более читабельной: просто добавьте разрывы строк в формулу после каждого ИСТИННОГО аргумента. Это сделает формулу более похожей на таблицу.

    27. Вводите функции с автозаполнением

    Когда вы вводите в функцию, Excel попытается угадать название нужной вам функции и предоставляет вам список автозаполнения для выбора. Вопрос в том, как выбрать нужную и остаться в режиме редактирования? Хитрость заключается в использовании клавиши табуляции. Когда вы нажимаете клавишу Tab, Excel добавляет полную функцию и оставляет курсор в скобках активным, чтобы вы могли заполнить аргументы по мере необходимости. На Mac вам сначала нужно использовать клавишу со стрелкой вниз, чтобы выбрать функцию, которую вы хотите добавить, а затем нажать клавишу Tab, чтобы вставить функцию.

    28. Используйте Автосумму для ввода формул СУММ (SUM)

    Этот способ подойдет не для всех случаев, но при использовании точно доставит удовольствие. Автосумма работает как для строк, так и для столбцов. Просто выберите пустую ячейку справа или под ячейками, которые вы хотите суммировать, и введите Alt + = (Mac: Command + Shift + T). Excel определит диапазон, который вы пытаетесь суммировать, и вставит функцию СУММ (SUM) за один шаг. Если вы хотите быть более конкретным, чтобы Excel не догадывался, сначала выберите диапазон, который вы хотите суммировать, включая ячейку, в которой вы хотите использовать функцию СУММ (SUM).

    Автосумма даже вставит несколько функций СУММ (SUM) одновременно. Чтобы сложить несколько столбцов, выберите диапазон пустых ячеек под столбцами. Чтобы сложить несколько строк, выберите диапазон пустых ячеек в столбце справа от строк.

    Наконец, вы можете использовать Автосумму для одновременного добавления итогов для строк и столбцов для всей таблицы. Просто выберите полную таблицу чисел, включая пустые ячейки под таблицей и справа от таблицы, и используйте горячие клавиши. Excel добавит соответствующие функции СУММ (SUM) в пустые ячейки, предоставляя вам итоги столбцов, итогов строк и итоговых сумм за один шаг.

    29. Введите одну и ту же формулу одновременно в несколько ячеек.

    Иногда нужно ввести одну и ту же формулу в группу ячеек. Вы можете сделать это быстро с помощью сочетания клавиш Ctrl + Enter. Просто выделите все ячейки, затем введите формулу как обычно, как для первой ячейки. Затем, когда вы закончите, вместо нажатия Enter нажмите Ctrl + Enter. Excel добавит одну и ту же формулу во все выделенные ячейки, корректируя ссылки по мере необходимости. При использовании этого способа вам не нужно копировать и вставлять, заполнять или использовать маркер заполнения.

    Вы также можете использовать эту же технику для редактирования нескольких формул одновременно. Просто выберите все формулы , внесите необходимые изменения и нажмите Ctrl + Enter.

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

    sttt

    Дата: Четверг, 26.02.2015, 15:59 |
    Сообщение № 1

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 13


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2007

    Как задать подсказки входным параметрам пользовательской функции?

     

    Ответить

    Manyasha

    Дата: Четверг, 26.02.2015, 16:41 |
    Сообщение № 2

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    sttt, попробуйте так:
    [vba]

    Код

    Public Function MySum(ByVal A As Range) As Double
         MySum = WorksheetFunction.Sum(A)
    End Function

    Public Sub DescriptForMySum()
         Application.MacroOptions «MySum», Description:=»Моя функция», ArgumentDescriptions:=Array(«А — диапазон»)
    End Sub

    [/vba]
    Сначала запустить макрос, потом найти функцию MySum в справке.


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Rioran

    Дата: Четверг, 26.02.2015, 16:51 |
    Сообщение № 3

    Группа: Авторы

    Ранг: Ветеран

    Сообщений: 903


    Репутация:

    290

    ±

    Замечаний:
    0% ±


    Excel 2013

    Manyasha, классный приём, но согласно документации был введён с 2010-й версии эксель, а у спрашивающего 2007-я. Возможно, работать не будет, ждём проверки пользователем =)

    UPD_01: Если начать вводить в ячейку свою функцию и на этапе =MySum( нажать сочетание Контрол + Шифт + англ. А то нам автоматически заполнится строка. Если мы адекватно назвали переменные — мы всё поймём.

    UPD_02: Как вариант, можно для каждой функции сделать дубль, добавив в конце названия «Help». Тогда, если забыл как работает твой механизм — введи в соседнюю ячейку эту же функцию без аргументов. Например:

    [vba]

    Код

    Public Function Rio_Action(intX As Integer, strX As String) As String
          If CStr(intX) = strX Then Rio_Action = «Сходится» Else Rio_Action = «Не сходится»
    End Function

    Public Function Rio_Action_Help() As String
          Rio_Action_Help = «Функция проверяет численное равенство аргументов: 1-й аргумент integer-число, 2-й аргумент текстовый.»
    End Function

    [/vba]


    Роман, Москва, voronov_rv@mail.ru
    Яндекс-Деньги: 41001312674279

    Сообщение отредактировал RioranЧетверг, 26.02.2015, 17:19

     

    Ответить

    Hugo

    Дата: Четверг, 26.02.2015, 17:04 |
    Сообщение № 4

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3140


    Репутация:

    670

    ±

    Замечаний:
    0% ±


    2010, теперь уже с PQ

    Нашёл в закромах (с кибера с 2011 года):

    [vba]

    Код

    Function ЗАПАС(Расч_сопр, Найденное)
    ЗАПАС = ((Расч_сопр — Найденное) / Расч_сопр) * 100
    End Function
    Sub Ф_ЗАПАС()
    Dim ФИМЯ As String ‘Название функции
    Dim ФОПИС As String ‘Описание функции
    Dim ФКАТ As String ‘Категория для функции
    Dim Arg1 As String, Arg2 As String’Аргументы функции
    ФИМЯ = «ЗАПАС»
    ФОПИС = «Функция вычисляет запас недонапряженности»
    ФКАТ = «САПР»
    Arg1 = «Расчетное сопротивление в кгс/см2»
    Arg2 = «Найденное сопротивление»
    Application.MacroOptions Macro:=ФИМЯ, Description:=ФОПИС, Category:=ФКАТ, ArgumentDescriptions:=Array(Arg1, Arg2)
    End Sub

    [/vba]

    Для того, чтобы работало, нужно формулу вызвать один раз из диспетчера формул, т.е Fx нажать и выбрать формулу из своей категории, потом можно вводить в самой ячейке(=ЗАПАС(Арг1,Арг2))

    Казанский

    Не по теме:

    В 2010 можно сделать
    Для восстановления исторической справедливости замечу, что этот метод работает в Excel 97, а может, и в более ранних


    excel@nxt.ru
    webmoney: R418926282008 Z422237915069

     

    Ответить

    Hugo

    Дата: Четверг, 26.02.2015, 17:28 |
    Сообщение № 5

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3140


    Репутация:

    670

    ±

    Замечаний:
    0% ±


    2010, теперь уже с PQ

    Проверил сейчас на 2003 — ругается на ArgumentDescriptions. Т.е. всёж сомнительно что на 97 уже заработало…


    excel@nxt.ru
    webmoney: R418926282008 Z422237915069

     

    Ответить

    sttt

    Дата: Четверг, 26.02.2015, 18:24 |
    Сообщение № 6

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 13


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2007

    что-то ничего не заработало. видимо он из справки берет инфу

     

    Ответить

    Hugo

    Дата: Четверг, 26.02.2015, 23:09 |
    Сообщение № 7

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3140


    Репутация:

    670

    ±

    Замечаний:
    0% ±


    2010, теперь уже с PQ

    Заработало, но полностью только в 2010:

    Пояснения «из закромов» не работают — нужно выполнить макрос, и тогда всё работает.
    Но чтоб всегда было описание аргументов — нужно при каждом старте приложения выполнять этот макрос.

    К сообщению приложен файл:

    5607009.png
    (31.6 Kb)


    excel@nxt.ru
    webmoney: R418926282008 Z422237915069

    Сообщение отредактировал HugoЧетверг, 26.02.2015, 23:14

     

    Ответить

    Manyasha

    Дата: Пятница, 27.02.2015, 07:54 |
    Сообщение № 8

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    Тогда можно все описание функции, вместе с описанием аргументов запихать в Description (использовала пример Hugo). Чтобы каждый раз не запускать макрос, запихала ее вызов в
    [vba]

    Код

    Private Sub Workbook_Open()
         Ф_ЗАПАС
    End Sub

    [/vba]


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Hugo

    Дата: Пятница, 27.02.2015, 12:39 |
    Сообщение № 9

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3140


    Репутация:

    670

    ±

    Замечаний:
    0% ±


    2010, теперь уже с PQ

    Если у меня например пара десятков своих функций — это ещё нужно столько макросов написать, и всех их выполнить при загрузке. Ещё и помощь бы не мешало написать — маловато инфы в мастере видно…
    Гемор.
    Я сделал иначе — все UDF расположил в надстройке, в ней есть вызов формы (из контекстного меню ячейки любого листа), где можно выбрать нужную UDF из списка (RAN сделал свою версию понавороченнее, опционально с разбиением по разделам), и там же на форме выводится описание выбранной функции. В описании можно написать что угодно, и сколько хочешь (вернее в актуальной версии сколько можно уместить в одной ячейке).
    Т.е. некий свой мастер по выбору функции, со своим функционалом.
    И работает в любой версии.
    Файл не кину —
    1. сейчас не могу
    2. для публикации сыро, нужно дорабатывать. Но мне как всегда лениво и некогда, да и так нормально :)

    Так что только дарю идею.


    excel@nxt.ru
    webmoney: R418926282008 Z422237915069

     

    Ответить

    MetalHeart

    Дата: Вторник, 19.11.2019, 17:39 |
    Сообщение № 10

    Группа: Пользователи

    Ранг: Прохожий

    Сообщений: 1


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2016

    Попробовал по примеру Manyasha c помощью MacroOptions — работает.
    Запихал макрос в Workbook_Open.

    Загвоздка в том, что при этом макрос с описанием функции привязвывается к конкретной книге.
    Есть ли возможность что бы описание макросов (а они у меня автоматически загружаютя при старте Excel) Загружалось автоматически без привязки к конкретной книге.

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

     

    Ответить

    Содержание

    • 1 Как сделать всплывающую подсказку?
    • 2 Где находится?
    • 3 Настройка условия проверки
    • 4 Всплывающая подсказка ячейки Excel
    • 5 Вывод сообщения об ошибке
    • 6 Подсказки в MS Excel
    • 7 Проверка по числу введенных символов
    • 8 Проверка по числу
    • 9 Выбор из имеющегося списка значений

    Изучим простой способ добавления всплывающей подсказки в Excel при вводе данных в ячейку.

    Одним из элементов упрощения ввода данных пользователем является добавление всплывающей подсказки, которая появляется при активации конкретной ячейки.
    Это позволяет минимизировать возможность ошибки при вводе, а также напоминает какие конкретно данные необходимо ввести в ячейку.

    Как сделать всплывающую подсказку?

    Чтобы сделать всплывающую подсказку для ячейки выберем на панели вкладок Данные -> Работа с данными -> Проверка данных и в открывшемся окне перейдем в центральную вкладку:

    как сделать подсказку к ячейке в excel
    Далее вводим информацию в поля Заголовок и Сообщение, при этом текст введенный в заголовок при отображении подсказки будет показываться жирным шрифтом, а также устанавливаем галочку напротив поля Отображать подсказку, если ячейка является текущей. Нажимаем OK и получаем следующий результат:

    Удачи вам и до скорой встречи на страницах блога Tutorexcel.ru!

    Во время работы с большими объемами информации, особенно когда ее обработка осуществляется формулами или макросами, важно, чтобы данные не имели ошибок, которые способны повлиять на итог. Сложности в получении корректных исходников появляются, когда они поступают из неструктурированных источников (плохо спроектированные базы данных, ручное заполнение таблиц и форм незаинтересованными в результате людьми). Особенно трудно добиться правильного оформления по определенной маске (шаблону). Например, дату в виде строки можно записать несколькими способами:

    • 01.01.2001;
    • 01/01/2001;
    • 1 января 2001 года и т.д.

    В статье описывается функционал, позволяющий упростить процесс сбора и проверки данных в Excel.

    Где находится?

    Для настройки параметров проверки вводимых значений необходимо на вкладке «Данные» в области «Работа с данными» кликнуть по иконке «Проверка данных» либо выбрать аналогичный пункт из раскрывающегося меню:

    как сделать подсказку к ячейке в excel

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

    как сделать подсказку к ячейке в excel

    Настройка условия проверки

    Изначально требуется выбрать тип проверяемых данных, что будет являться первым условием. Всего предоставлено 8 вариантов:

    • Целое число;
    • Действительное число;
    • Список;
    • Дата;
    • Время;
    • Длина текста;
    • Другой.

    В соответствии с выбранным пунктом, появляется возможность выбора дополнительных условий. Для чисел, дат, времени и длины текста возможно указать ограничения: меньше, больше, диапазон и т.п. К списку обязательно привязывается источник, а пункт «другой» предлагает ввести формулу, возвращающую логическое значение.

    Самым необычным видом является выпадающий список.

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

    Функционал проверки данных в Excel позволяет настраивать всплывающие подсказки для ячеек листа. Для этого следует перейти на вторую вкладку окна проверки вводимых значений – «Сообщение для ввода».

    как сделать подсказку к ячейке в excel

    На изображении показан пример возможного сообщения для ячейки, в которую вносятся целые числа от 1 до 31 (настройки вкладки «Параметры»). Заголовок и сообщения указываются по Вашему усмотрению, каких-либо правил к их оформлению нет. Не забудьте установить галочку на поле «Отображать подсказку, если ячейка является текущей», иначе сообщение будет деактивировано.

    Пример всплывающей подсказки в Excel:

    Вывод сообщения об ошибке

    Последняя вкладка окна проверки данных позволяет настроить поведение и вывод сообщений при обнаружении ошибочного значения.

    Существует три варианта сообщений, отличающихся по поведению:

    • Останов;
    • Предупреждение;
    • Сообщение.

    как сделать подсказку к ячейке в excel

    Останов является сообщением об ошибке и позволяет произвести только 2 действия: отменить ввод и повторить ввод. В случае отмены новое значение будет изменено на предыдущее. Повтор ввода дает возможность скорректировать новое значение.

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

    Сообщение выводить ошибку в виде простой информации и дает возможность отменить последнее действие.

    Заголовок и сообщение заполняются по Вашему желанию.

    Пример вывода одной и той же ошибки, но под разными видами:

    как сделать подсказку к ячейке в excel

    Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.

    У Вас недостаточно прав для комментирования.

    В MS Excel есть ряд очень полезных инструментов для удивительно простого создания по-настоящему сложных форм сбора информации. Однако, вот незадача — чаще всего камнем преткновения во взаимодействии с ними служат не возможности табличного редактора, а человеческая «косорукость». Пользователи стирают формулы из ячеек, вносят некорыстные данные, в общем, портят плоды наших трудов.

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

    как сделать подсказку к ячейке в excel

    Вот и моя демонстрационная excel-таблица. Как её заполнять?

    Подсказки в MS Excel

    Первый способ вставки подсказки

    Первым делом разберемся c подсказками. Взгляните на мою табличку. Вроде бы все просто, однако даже при такой простоте можно нагородить солидный огород. К примеру, поле «номер документ» — это №1, 1, или 22.03-1?

    как сделать подсказку к ячейке в excel

    Самый проcтой способ вставить примечание в лист MS Excel

    Самое простое, это щелкнуть по нужной ячейке правой кнопкой мыши и выбрать пункт «Вставить примечание«. В появившемся поле достаточно написать требуемый текст, и если пользователь поднесет курсор мыши к этой ячейке, текст немедленно появится во всплывающей подсказке.

    как сделать подсказку к ячейке в excel

    Примечания вставлено

    Обратите внимание: ячейка с примечанием помечена особым значком — маленьким красным треугольником в правом верхнем углу. Сам же текст примечания может быть отформатирован как любой другой — вы можете сделать его жирным или курсивным, чтобы подчеркнуть особо важные моменты своего послания.

    как сделать подсказку к ячейке в excel

    Удалить примечания можно только из контекстного меню правой кнопки мыши

    Обратите внимание: нажатие кнопки «Delete» в ячейке не удалит примечание. Избавиться от него (или изменить его текст) можно повторно щелкнув в ячейке правой кнопкой мыши и выбрав пункт «Удалить примечание» или «Изменить примечание».

    Второй способ вставки подсказки

    Ещё один способ ввести подсказку интересен нам только с точки зрения того, о чем пойдет разговор дальше (фильтрации ввода), тем не менее знать о нем полезно.

    как сделать подсказку к ячейке в excel

    Примечания в Excel с помощью проверки данных

    Поставьте курсор мыши в выбранную ячейку, на панели «Данные» в группе «Работа с данным» откройте инструмент «Проверка данных«, и заполните поля «заголовок» и «текст сообщения» на вкладке «Сообщение для ввода«. Нажмите «Ок».

    Теперь, при щелчке на ячейке с подсказкой (обратите внимание — отмеченная таким способом ячейка не помечается красным треугольником, и выглядит так же как любая другая) также будет выведен его текст в желтом прямоугольнике. Удалить и изменить примечание введенное через «Проверку данных» с помощью правой кнопки мыши, нельзя.

    Проверка по числу введенных символов

    Подсказки — это хорошо, но что делать с самыми «прогрессивными» пользователями, которые подсказок не читают? Остается одно — бить по рукам… то есть использовать фильтрацию ввода, я хотел сказать.

    Снова открываем инструмент «Проверка данных«, переходим на вкладку «Параметры» и смотрим на наши возможности по ограничению возможностей пользователя.

    как сделать подсказку к ячейке в excel

    Проверка по числу введенных символов в MS Excel

    Первое, что может оказаться полезным, это проверка по длине введенного текста. Выбираем пункт «Длина текста» и указываем любой диапазон ограничений. К примеру, я хочу чтобы текст в поле «Сообщение» был как можно более кратким, но в то же время ячейка не могла оставаться пустой. Значения от 3-х до 25 введенных символов, этого вполне хватит, чтоб вписать что-то вроде «Напоминание об оплате» (21 символ), а при попытке ввести более длинный текст, MS Excel выдаст окно-предупреждение и не даст завершить ввод.

    как сделать подсказку к ячейке в excel

    Слишком длинный текст! Excel стоит на страже и не пропустит такой очевидной ошибки

    Проверка по числу

    Ещё один хороший способ фильтрации который пригодится без сомнения: фильтрация по числу. Установите фильтр подобный указанному на рисунке и навсегда избавьтесь от проблем с тем, что в поле цена появляются буквы, пробелы и лишние символы.

    как сделать подсказку к ячейке в excel

    Проверка по числу в Excel

    как сделать подсказку к ячейке в excel

    Фильтрация на ввод чисел работает ничуть не хуже

    Выбор из имеющегося списка значений

    Самая мощная и интересная проверка ввода в MS Excel — выборка из выпадающего списка. Она подойдет не для всех типов ячеек, но там где нужна точность, а диапазон значений не слишком велик, выборка по списку это то что надо.

    как сделать подсказку к ячейке в excel

    А теперь, сделаем проверку по выпадающему списку в MS Excel. Данные введем вручную, через точку с запятой.

    Выбираем в «Проверке данных» вкладку «Параметры«, и указываем «Тип данных» → «Список». Ввести «предустановленные» значения можно двумя способами:

    • Выбрать диапазон данных с помощью кнопки «Диапазон данных».
    • Вписать значения выпадающего списка вручную, через точку с запятой.

    как сделать подсказку к ячейке в excel

    …или выберем из диапазона

    Второй способ более интересен, так как данные «спрятаны» от пользователя, зато набить их больше десятка подряд — проблематично. Первый способ позволяет без проблем задать намного больший список для выбора данных, однако прежде придется этот список разместить где-то в документе (каждое значение на отдельной строке), например на отдельном «служебном» листе в той же книге MS Excel.

    Выбор из списка на листе MS Excel. Других данных ввести не удастся.

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

    Кстати, можно изменить и её текст — для этого перейдите на вкладку «Сообщение для вывода» в «Проверке данных», как мы уже делали при «втором способе» вставке подсказок, измените текст на требуемый.

    Примечания в Excel — удобная штука. Только, чтобы отобразить примечание, нужно навести на его ячейку указатель мыши. А как сделать подсказку, которая будет всегда появляться при выборе ячейки — неважно, мышкой или стрелками?

    Такая необходимость может возникнуть, например, при заполнении больших таблиц — чтобы не потеряться на просторах данных, можно включить в подсказку заголовки соответствующей строки и столбца. Или блок ячеек используется в качестве исходных данных для документа — и нужно дать необходимые пояснения для правильного заполнения.

    Такую возможность даёт инструмент Excel «Проверка данных«.

    Ставим курсор на нужную ячейку. Открываем окно «Проверка вводимых значений«. В Excel 2003 путь к нему такой: в строке меню ->Данные -> Проверка. В Excel 2007 — на ленте вкладка «Данные» -> пункт «Проверка»

    Так как задачи действительно проверить вводимые значения у нас нет, сразу переходим на вкладку «Сообщение для ввода«. Заголовком можно пренебречь, заполнить только раздел «Сообщение«. Там напишите всё, что должно отображаться в подсказке. Обязательно проверьте, чтобы стояла галочка «Отображать подсказку, если ячейка является текущей». Написáли? Жмём ОК и радуемся!

    Неактивная подсказка внешне не заметна. А при выборе ячейки с подсказкой, рядом появляется симпатичное окошечко с текстом пояснения.

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

    Понравилась статья? Поделить с друзьями:
  • Подсказки в игре word все уровни
  • Подставление значений в excel по условию
  • Подсказка на игру word surf
  • Подставить формулу в таблицу excel
  • Подсказка для ячеек excel