Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как создать диалоговое окно в excel

Microsoft Excel

трюки • приёмы • решения

Как использовать встроенную в Excel форму для ввода данных

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

Прежде чем вы сможете использовать эту форму, вы должны настроить заголовки столбцов в вашем листе. Кроме того, вы можете указать диапазон данных в виде таблицы, выбрав Вставка ► Таблицы ► Таблица. Команды Форма нет на ленте, так что вам придется провести небольшую подготовительную работу. Рассмотрим, как можно добавить команду на панель быстрого доступа.

  • Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа. На экране появится раздел Панель быстрого доступа диалогового окна Параметры Excel.
  • В раскрывающемся списке Выбрать команды из выберите Команды не на ленте.
  • В списке ниже выберите Форма, а затем нажмите кнопку Добавить.
  • Нажмите ОК, чтобы закрыть диалоговое окно Параметры Excel.

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

Рис. 41.1. Форма ввода данных Excel

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

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

Чтобы ввести новую запись, нажмите кнопку Добавить для очистки полей. Теперь вы можете ввести новую информацию в соответствующие поля. Нажмите клавишу Tab или Shift+Tab для перемещения между полями. Когда вы нажмете кнопку Добавить (или Закрыть), данные, которые вы ввели, добавятся в нижнюю часть списка. Вы также можете нажать Enter, что эквивалентно нажатию кнопки Добавить. Если список содержит формулы, они также автоматически вводятся в новую запись.

Если ваш список назван Database, Excel автоматически расширяет определение диапазона так, чтобы он включал новую строку или строки, которые вы добавляете в список с помощью формы. Обратите внимание на то, что этот метод работает только тогда, когда имя списка — Database; никакое другое имя не работает. Используйте команду Формулы ► Определенные имена ► Присвоить имя, чтобы задать имя диапазону. Если список находится в таблице (созданной с помощью команды Вставка ► Таблицы ► Таблица), нет необходимости именовать диапазон. Таблица будет расширена автоматически при добавлении новых данных.

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

  • Удалить — удаляет текущую запись.
  • Вернуть — восстанавливает любую информацию, которую вы редактировали. Вы должны нажать ее, прежде чем нажмете кнопку Добавить.
  • Назад — отображает предыдущую запись в списке. Если вы ввели критерий, эта кнопка показывает предыдущую запись, которая соответствует критерию.
  • Далее — отображает следующую запись в списке. Если вы ввели критерий, эта кнопка показывает следующую запись, которая соответствует критерию.
  • Критерии — очищает поля и позволяет ввести критерий, по которому выполняется поиск записей. Например, чтобы найти записи, в которых значение цены менее $200 000, введите в поле Цена. Затем вы можете использовать кнопки Назад и Далее для отображения подходящих под критерий записей.
  • Закрыть — закрывает форму (и вводит любые данные, которые вы вводили).

Создание пользовательских функций в Excel

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

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

Пользовательские функции (как и макросы) записываются на языке программирования Visual Basic для приложений (VBA). Они отличаются от макросов двумя вещами. Во-первых, в них используются процедуры Function, а не Sub. Это значит, что они начинаются с оператора Function, а не Sub, и заканчиваются оператором End Function, а не End Sub. Во-вторых, они выполняют различные вычисления, а не действия. Некоторые операторы (например, предназначенные для выбора и форматирования диапазонов) исключаются из пользовательских функций. Из этой статьи вы узнаете, как создавать и применять пользовательские функции. Для создания функций и макросов используется редактор Visual Basic (VBE), который открывается в отдельном окне.

Читать еще:  Vba excel подключить библиотеку

Предположим, что ваша компания предоставляет скидку в размере 10 % клиентам, заказавшим более 100 единиц товара. Ниже мы объясним, как создать функцию для расчета такой скидки.

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

Чтобы создать пользовательскую функцию DISCOUNT в этой книге, сделайте следующее:

Нажмите клавиши ALT+F11 (или FN+ALT+F11 на Mac), чтобы открыть редактор Visual Basic, а затем щелкните Insert (Вставка) > Module (Модуль). В правой части редактора Visual Basic появится окно нового модуля.

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

Примечание: Чтобы код было более удобно читать, можно добавлять отступы строк с помощью клавиши TAB. Отступы необязательны и не влияют на выполнение кода. Если добавить отступ, редактор Visual Basic автоматически вставит его и для следующей строки. Чтобы сдвинуть строку на один знак табуляции влево, нажмите SHIFT+TAB.

Теперь вы готовы использовать новую функцию DISCOUNT. Закройте редактор Visual Basic, выделите ячейку G7 и введите следующий код:

Excel вычислит 10%-ю скидку для 200 единиц по цене 47,50 ₽ и вернет 950,00 ₽.

В первой строке кода VBA функция DISCOUNT(quantity, price) указывает, что функции DISCOUNT требуется два аргумента: quantity (количество) и price (цена). При вызове функции в ячейке листа необходимо указать эти два аргумента. В формуле =DISCOUNT(D7;E7) аргумент quantity имеет значение D7, а аргумент price — значение E7. Если скопировать формулу в ячейки G8:G13, вы получите указанные ниже результаты.

Рассмотрим, как Excel обрабатывает эту функцию. При нажатии клавиши ВВОД Excel ищет имя DISCOUNT в текущей книге и определяет, что это пользовательская функция в модуле VBA. Имена аргументов, заключенные в скобки ( quantity и price), представляют собой заполнители для значений, на основе которых вычисляется скидка.

Оператор If в следующем блоке кода проверяет аргумент quantity и сравнивает количество проданных товаров со значением 100:

Если количество проданных товаров не меньше 100, VBA выполняет следующую инструкцию, которая перемножает значения quantity и price, а затем умножает результат на 0,1:

Discount = quantity * price * 0.1

Результат хранится в виде переменной Discount. Оператор VBA, который хранит значение в переменной, называется оператором назначения, так как он вычисляет выражение справа от знака равенства и назначает результат имени переменной слева от него. Так как переменная Discount называется так же, как и процедура функции, значение, хранящееся в переменной, возвращается в формулу листа, из которой была вызвана функция DISCOUNT.

Если значение quantity меньше 100, VBA выполняет следующий оператор:

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

Discount = Application.Round(Discount, 2)

В VBA нет функции округления, но она есть в Excel. Чтобы использовать округление в этом операторе, необходимо указать VBA, что метод (функцию) Round следует искать в объекте Application (Excel). Для этого добавьте слово Application перед словом Round. Используйте этот синтаксис каждый раз, когда нужно получить доступ к функции Excel из модуля VBA.

Пользовательские функции должны начинаться с оператора Function и заканчиваться оператором End Function. Помимо названия функции, оператор Function обычно включает один или несколько аргументов. Однако вы можете создать функцию без аргументов. В Excel доступно несколько встроенных функций (например, СЛЧИС и ТДАТА), в которых нет аргументов.

После оператора Function указывается один или несколько операторов VBA, которые проверят соответствия условиям и выполняют вычисления с использованием аргументов, переданных функции. Наконец, в процедуру функции следует включить оператор, назначающий значение переменной с тем же именем, что у функции. Это значение возвращается в формулу, которая вызывает функцию.

Количество ключевых слов VBA, которые можно использовать в настраиваемых функциях, меньше числа, которое можно использовать в макросах. Пользовательские функции не разрешены для выполнения каких-либо действий, кроме возвращения значения в формулу на листе или в выражение, используемое в другом макросе или функции VBA. Например, пользовательские функции не могут изменять размер окон, редактировать формулы в ячейках, а также изменять шрифт, цвет и параметры узора для текста в ячейке. Если вы включаете код «Action» этого типа в процедуру Function, функция возвращает #VALUE! Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!.

Единственное действие, которое может выполнять процедура функции (кроме вычислений), — это отображение диалогового окна. Чтобы получить значение от пользователя, выполняющего функцию, можно использовать в ней оператор InputBox. Кроме того, с помощью оператора MsgBox можно выводить сведения для пользователей. Вы также можете использовать настраиваемые диалоговые окна ( UserForms), но эта тема выходит за рамки данной статьи.

Даже простые макросы и пользовательские функции может быть сложно понять. Чтобы сделать эту задачу проще, добавьте комментарии с пояснениями. Для этого нужно ввести перед текстом апостроф. Например, ниже показана функция DISCOUNT с комментариями. Благодаря подобным комментариями и вам, и другим будет впоследствии проще работать с кодом VBA. Так, код будет легче понять, если потребуется внести в него изменения.

Читать еще:  Excel нехватка памяти

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

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

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

Для использования настраиваемой функции необходимо открыть книгу, содержащую модуль, в котором она была создана. Если эта книга не открыта, вы получаете #NAME? Ошибка при попытке использовать функцию. Если вы ссылались на функцию в другой книге, перед именем функции необходимо указать имя книги, в которой она находится. Например, если вы создаете функцию с именем «скидка» в книге с именем «личное. xlsb» и назовите ее из другой книги, необходимо ввести = личное. xlsb! скидка (), а не просто = Скидка ().

Чтобы вставить пользовательскую функцию быстрее (и избежать ошибок), ее можно выбрать в диалоговом окне «Вставка функции». Пользовательские функции доступны в категории «Определенные пользователем»:

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

Создав нужные функции, выберите Файл > Сохранить как.

В Excel 2007 нажмите кнопку Microsoft Office, а затем щелкните Сохранить как.

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

Сохранив книгу, выберите Файл > Параметры Excel.

В Excel 2007 нажмите кнопку Microsoft Office и щелкните Параметры Excel.

В диалоговом окне Параметры Excel выберите категорию Надстройки.

В раскрывающемся списке Управление выберите Надстройки Excel. Затем нажмите кнопку Перейти.

В диалоговом окне Надстройки установите флажок рядом с именем книги, как показано ниже.

Создав нужные функции, выберите Файл > Сохранить как.

В диалоговом окне Сохранить как откройте раскрывающийся список Тип файла и выберите значение Надстройка Excel. Сохраните книгу с запоминающимся именем, таким как MyFunctions.

Сохранив книгу, выберите Сервис > Надстройки Excel.

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

После выполнения этих действий ваши пользовательские функции будут доступны при каждом запуске Excel. Если вы хотите добавить в библиотеку функций, вернитесь в редактор Visual Basic. Если вы видите в окне редактора проектов Visual Basic под заголовком Вбапрожект, появится модуль под именем файла надстройки. У надстройки появится расширение. xlam.

Дважды щелкните модуль в Project Explorer, чтобы вывести код функций. Чтобы добавить новую функцию, установите точку вставки после оператора End Function, который завершает последнюю функцию в окне кода, и начните ввод. Вы можете создать любое количество функций, и они будут всегда доступны в категории «Определенные пользователем» диалогового окна Вставка функции.

Эта статья основана на главе книги Microsoft Office Excel 2007 Inside Out, написанной Марком Доджем (Mark Dodge) и Крейгом Стинсоном (Craig Stinson). В нее были добавлены сведения, относящиеся к более поздним версиям Excel.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Диалоговые окна Excel

Некоторые команды меню имеют клавиатурные эквиваленты. Обычно они указываются рядом с названиями элементов меню. Это дает возможность во время выбора команд из меню изучать их клавиатурные эквиваленты.

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

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

Читать еще:  Какие типы данных различаются в excel

Если диалоговое окно закрывает ту часть рабочего листа, которую вам нужно щелкните на его строке заголовка и перетащите его в другое место. В строке заголовка диалогового окна находится два элемента управления: кнопка справки — пиктограмма со знаком вопроса — и кнопка закрытия. Когда вы щелкнете на кнопке справки, возле указателя мыши появится знак вопроса. Затем щелкните на элементе диалогового окна для получения его описания. Щелчок на кнопке закрытия, как и щелчок на кнопке Отмена или нажатие клавиши , дает один же результат — закрывается диалоговое окно.

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

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

Когда элемент управления выбран, он обрамляется темным контуром. Для активизации выбранного элемента управления нажмите клавишу .

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

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

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

Нажатие клавиши одновременно с подчеркнутой буквой в названии кнопки равносильно щелчку на этой кнопке. Нажатие клавиши дает тот же результат, что и щелчок на кнопке ОК, а нажатие клавиши — тот же результат, что и щелчок на кнопке Отмена.

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

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

Флажок опции используется для отображения на экране состояния данной опции. Ее действие подобно выбору ответа в тесте типа «да-нет». В отличие от переключателей, флажки опций не зависят один от другого. Щелчок на флажке опции приводит к появлению или исчезновению галочки в квадратике.

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

Счетчик позволяет легко ввести какое-либо число. Для этого нужно щелкнуть на кнопках со стрелками, чтобы увеличить или уменьшить отображаемое значение. Счетчик почти всегда связан с полем ввода. Можно вводить значение прямо в поле ввода или использовать счетчик для получения нужного числа.

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

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

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

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

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

Ссылка на основную публикацию
Adblock
detector