Excel 2021 Excel 2019 Excel 2016 Excel 2013 Office для бизнеса Excel 2010 Excel 2007 Еще…Меньше
Сводка
Microsoft Excel содержит несколько элементов управления для листов диалогов, которые удобно использовать для выбора элементов из списка. Примерами элементов управления могут быть списки, поля со списком, счетчики и полосы прокрутки.
Дополнительные сведения об элементе управления формы в Excel см. в ActiveX формах и формах.
Дополнительные сведения
Ниже покажем, как использовать списки, поля со списком, счетчики и полосы прокрутки. В примерах используются те же список, ссылка на ячейку и функция Индекс.
Включить вкладку «Разработчик»
Чтобы использовать элементы управления формы Excel 2010 и более поздних версий, необходимо включить вкладку Разработчик. Для этого выполните указанные ниже действия.
-
Откройте вкладку Файл и выберите команду Параметры.
-
Нажмите кнопку Настроить ленту в области слева.
-
В правой области Основные вкладки выберите разработчик и нажмите кнопку ОК.
Чтобы использовать элементы управления формы Excel 2007, необходимо включить вкладку Разработчик. Для этого выполните указанные ниже действия.
-
Нажмите кнопку Microsoft Office, а затем — Параметры Excel.
-
Щелкните Популярные,выберите вкладкуПоказать вкладку «Разработчик» на ленте и нажмите кнопку ОК.
Настройка списка, ссылки на ячейку и индекса
-
Введите на новый таблицу следующие элементы в диапазоне H1:H20:
H1: ОльговСкие о-ва
H2: VCR
H3 : Desk
H4 : Ольга
H5 : Автомобиль
H6 : Компьютер-автомат
H7 : Rocket Launcher
H8 : велосипед
H9 : Телефон
H10: Сша
H11: Конфеты
H12: динамики
H13: дресс
H14: Одея
H15: Dryer
H16: Гоголев
H17: сухи
H18: набор инструментов
H19: VCR
H20: жесткий диск
-
В ячейке A1 введите следующую формулу:
=ИНДЕКС(H1:H20;G1;0)
Пример списка
-
Чтобы добавить список в Excel 2007 и более поздних версиях, на вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить, а затем в группе Элементы управления формы выберите элемент Форма списка (элемент управления).
Чтобы добавить список в Excel 2003 и более ранних версиях Excel, нажмите кнопку Список на панели инструментов Формы. Если панель инструментов Формы не отображается, найдите в меню Вид пункт Панели инструментов и выберите пункт Формы. -
Щелкните место на листе, где должен отображаться левый верхний угол списка, и перетащите его в то место, где должен быть нижний правый угол списка. В этом примере создайте список для ячеек B2:E10.
-
В группе Элементы управления нажмите кнопку Свойства.
-
В окне Формат объекта введите следующие данные и нажмите кнопку ОК.
-
Чтобы указать диапазон для списка, введите H1:H20 в поле Диапазон ввода.
-
Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
Примечание: Формула ИНДЕКС() использует значение в G1 для возврата правильного элемента списка.
-
Убедитесь,что в области Тип выделения выбран вариант Один.
Примечание: Параметры Multi и Extend полезны только при использовании процедуры Microsoft Visual Basic для приложений для возврата значений списка. Обратите внимание также на то, что при этом к списку добавляется объемный вид.
-
-
В списке должен отображаться список элементов. Чтобы использовать список, щелкните любую ячейку, чтобы он не был выбран. Если щелкнуть элемент в списке, ячейка G1 будет обновлена на число, которое указывает положение элемента, выбранного в списке. Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.
Пример «Поле со combo»
-
Чтобы добавить поле со полем со Excel 2007 и более поздних версий, на вкладке Разработчик нажмите кнопку Вставить ивыберите поле со полем со полем в области Элементы управления формы.
Чтобы добавить поле со Excel 2003 и более ранних версиях Excel, нажмите кнопку Поле со полем со полем на панели инструментов Формы. -
Щелкните место на листе, где должен отображаться левый верхний угол списка, а затем перетащите поле со списком в то место, где должен быть нижний правый угол списка. В этом примере создайте поле соbo, которое охватывает ячейки B2:E2.
-
Щелкните правой кнопкой мыши поле со полем и выберите форматирование.
-
Введите следующую информацию и нажмите кнопку ОК.
-
Чтобы указать диапазон для списка, введите H1:H20 в поле Диапазон ввода.
-
Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
Примечание: Формула ИНДЕКС использует значение в G1 для возврата правильного элемента списка.
-
В поле Drop down lines (Вниз) введите 10. Эта запись определяет, сколько элементов будет отображаться перед использованием точки прокрутки для просмотра других элементов.
Примечание: При желании не может быть затенение. Она добавляет трехмерный вид в поле со полем со структурой.
-
-
В поле со списком должен отображаться список элементов. Чтобы использовать поле со полем со ссылкой или полем со ссылкой, щелкните любую ячейку, чтобы объект не был выбран. При щелчке элемента в поле со списком или в поле со списком ячейка G1 обновляется на число, которое указывает на положение в списке выбранного элемента. Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.
Пример счетчика
-
Чтобы добавить счетчик в Excel 2007 и более поздних версиях, на вкладке Разработчик нажмите кнопку Вставить ив области Элементы управления формынажмите кнопку Счетчик.
Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку Счетчик на панели инструментов Формы. -
Щелкните место, где должен отображаться левый верхний угол счетчика, и перетащите его в то место, где должен быть нижний правый угол счетчика. В этом примере создайте счетчик, который охватывает ячейки B2: B3.
-
Щелкните правой кнопкой мыши счетчик и выберите форматирование.
-
Введите следующую информацию и нажмите кнопку ОК.
-
В поле Текущее значение введите 1.
Это значение инициализирует счетчик, чтобы формула ИНДЕКС укачивает на первый элемент в списке.
-
В поле Минимальное значение введите 1.
Это значение ограничивает верхнюю часть счетчика первым элементом в списке.
-
В поле Максимальное значение введите 20.
Это число определяет максимальное количество записей в списке.
-
В поле Приращение введите 1.
Это значение управляет приращением текущего значения при счетчике.
-
Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
-
-
Щелкните любую ячейку, чтобы счетчик не был выбран. При нажатии на счетчик элемента управления вверх или вниз ячейка G1 обновляется на число, которое указывает текущее значение счетчика плюс или минус добавочная смена счетчика. Это число затем обновляет формулу ИНДЕКС в ячейке A1 для показа следующего или предыдущего элемента.
Значение счетчика не изменится, если текущее значение — 1, если щелкнуть вниз или если текущее значение 20 и при нажатии кнопки вверх.
Пример scroll bar
-
Чтобы добавить полоса прокрутки в Excel 2007 и более поздних версиях, на вкладке Разработчик нажмите кнопку Вставить ив области Элементы управления формы выберите элемент Полоса прокрутки.
Чтобы добавить в Excel 2003 и более ранних версиях Excel, нажмите кнопку Scroll Bar на панели инструментов Формы. -
Щелкните место, где должен отображаться левый верхний угол ручья, и перетащите его в то место, где должен быть нижний правый угол ручья. В этом примере создайте полосу прокрутки, которая по высоте охватывает ячейки B2:B6 и занимает около одной четвертой ширины столбца.
-
Щелкните правой кнопкой мыши прокрутку и выберите форматирование.
-
Введите следующую информацию и нажмите кнопку ОК.
-
В поле Текущее значение введите 1.
Это значение инициализирует ось прокрутки, чтобы формула ИНДЕКС укачивала на первый элемент в списке.
-
В поле Минимальное значение введите 1.
Это значение ограничивает верхнюю часть верхней части ручека первым элементом в списке.
-
В поле Максимальное значение введите 20. Это число определяет максимальное количество записей в списке.
-
В поле Приращение введите 1.
Это значение управляет тем, сколько чисел приращение текущего значения на панели прокрутки.
-
В поле Изменение страницы введите 5. Это значение управляет тем, насколько приращением будет текущее значение, если щелкнуть в окне прокрутки с обеих сторон окна прокрутки.
-
Чтобы поместить число в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Связь с ячейкой.
Примечание: При желании не может быть затенение. К панели прокрутки будет добавлен трехмерный вид.
-
-
Щелкните любую ячейку, чтобы не выделить прокрутку. При нажатии на элемент управления прокрутки вверх или вниз ячейка G1 обновляется на число, которое указывает текущее значение крутки в плюс или минус добавочная смена крутки. Это число используется в формуле ИНДЕКС в ячейке A1 для показа элемента рядом с текущим элементом или перед этим. Вы также можете перетащить поле прокрутки, чтобы изменить значение, или щелкнуть в окне прокрутки с обеих сторон, чтобы приращение на 5 (значение изменения страницы). Прокрутка не изменится, если текущее значение — 1, если щелкнуть вниз или если текущее значение — 20 и вы щелкаете его вверх.
Нужна дополнительная помощь?
Элементы управления формы (Поле со списком, Флажок, Счетчик и др.) помогают быстро менять данные на листе в определенном диапазоне, включать и выключать опции, делать выбор и пр. В принципе, без них можно обойтись, но они делают управление данными на листе более наглядным и уменьшают вероятность ввода некорректных данных.
Для вставки элементов управления на лист необходимо отобразить вкладку
Разработчик.
-
В MS EXCEL 2007 это можно сделать через меню
.
-
В MS EXCEL 2010 это можно сделать так: Откройте вкладку
Файл
; Нажмите кнопку
Параметры
; Нажмите кнопку
Настроить ленту
; Выберите команду
Настройка ленты и в разделе Основные вкладки
установите флажок
Разработчик
.
Теперь вставить элемент управления можно через меню:
.
Обратите внимание, что в этом меню можно вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.
Для тех, кто не ранее не работал с Элементами управления формы, советуем подробно ознакомиться с ними в следующих статьях:
-
Флажок
;
-
Счетчик
;
-
Полоса прокрутки
;
-
Переключатель
;
-
Список
;
-
Поле со списком
.
В этой статье рассмотрим более сложный пример совместного использования элементов управления и
Условного форматирования
.
Пример
Разберем конкретный пример применения сразу нескольких Элементов управления. В файле
примера
с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон
F9:K12
).
С помощью одного из 3-х элементов управления
Поле со списком, Список
и
Счетчик
,
пользователь может выбрать столбец таблицы (год)
.
Нужный элемент управления выбирается с помощью группы
Переключателей
. Название выбранного элемента подсвечивается серым цветом (см.
A8:B8
на рис. выше). Выбранный год выделяется в таблице
Условным форматированием
темно серым цветом (см.
H9
:H12
на рис. выше). Отображение этого выделения регулируется
Флажком
(фон флажка — красный).
Полосами прокрутки
можно редактировать
Цену
и
Количество
в выбранном году, но только в определенном диапазоне. Теперь – подробнее.
Переключатели
На листе использовано 3
Переключателя
объединенных в
Группу
. Каждому
Переключателю
соответствует определенный элемент управления:
Поле со списком, Список, Счетчик
.
Для объединения Элементов в группу помещаем на лист Элемент управления
Группа
(через меню
). В рамках группы создаем 3 переключателя (также через меню
) и связываем их все с одной ячейкой
С2
(выделив элемент управления, правой клавишей вызываем контекстное меню,
Формат объекта
…, вкладка
Элемент управления
).
Удерживая клавишу
CTRL
выделяем 3 переключателя и элемент
Группа
, вызываем правой клавишей мыши контекстное меню и выбираем
. Теперь при выборе одного из трех
Переключателей
в
Группе
, в ячейке
С2
будет выводиться значение 1, 2 или 3.
Поле со списком
Теперь вставим элемент управления
Поле со списком
. Вставить элемент можно через меню:
. В ячейках столбца
М
введем несколько значений лет:
2009, 2010, 2011, 2012, 2013.
Эти значения будут использованы в элементе
Поле со списком
.
Создадим
Именованный диапазон
Список
.
-
выделяем диапазон
М9:М12
;
-
нажимаем
;
-
в поле
Имя
вводим
Список
.
Теперь свяжем элемент управления с данными на листе. Для этого:
-
выделите элемент управления
Поле со списком
; -
правой клавишей вызовите его контекстное меню, затем
Формат объекта…
, вкладка
Элемент управления
; -
в поле
Формировать список по диапазону
вводим
Список
(вместо ссылки на ячейку мы ввели ссылку на определенноеИмя
!). Конечно, вместо имени можно было указать просто ссылку на диапазон;
-
свяжем элемент с ячейкой
$C$8
. В этой ячейке будет выводится порядковый номер выбранного элемента списка, т.е. если выберем
2009
, то выведется 1, т.к. это первый элемент в списке. Для дальнейших целей нам проще использовать именно год, а не его порядковый номер. Для этого в ячейку
D8
введем формулу
=C8+2008
.
Список
Вставляем на лист элемент
Список
. Аналогично предыдущему элементу связываем его с ячейкой
$C$13
и формируем список на основе того же
Именованного диапазона
Список
. В ячейку
D13
введем формулу
=C13+2008
.
Счётчик
Вставляем на лист элемент
Счетчик
. Определяем минимальное значение
2009
, максимальное –
2013
, шаг
1
. Связываем элемент с ячейкой
$C$17
. В
D17
введем формулу
=С17
, т.к. элемент
Счетчик
в нашем случае возвращает значение года.
Чтобы определить значение какого элемента (
поле со списком, список
или
счетчик
) является активным в настоящий момент, в ячейке
E9
введем формулу:
=ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17))
Как мы помним, значение в ячейке
С2
определяется
Группой переключателей
.
Полоса прокрутки
Вставляем на лист элемент
Полоса прокрутки
. Этим элементом мы будем изменять ячейку на пересечении строки
Количество
(строка 10) и столбца выбранного года. Значения ячейки будет меняться в диапазоне от 0 до 1000. Но как определить эту ячейку?
Создадим
Именованную формулу
СмещГода
для определения позиции выбранного года в диапазоне лет
G
9:
K
9
. Нажимаем
, в поле
Имя
вводим
СмещГода
, в поле диапазон вводим формулу
=ПОИСКПОЗ($E$9; $G$9:$K$9;0)
Если выбран
2009
, то формула вернет 1.
Для определения ячейки строки
Количество
, соответствующую выбранному году используем формулу
=СМЕЩ($F$10;0;СмещГода)
. Формула вернет диапазон, состоящий из одной ячейки.
В поле
Связь с ячейкой
элемента
Полоса прокрутки
нельзя ввести формулу, но можно, как мы уже видели, ввести
Имя
. Создадим
Именованную формулу
Количество
, в поле
Диапазон
укажем формулу
=СМЕЩ($F$10;0;СмещГода)
. Теперь в поле
Связь с ячейкой
элемента полоса прокрутки введите
Количество
.
Аналогичные манипуляции проделайте с полосой прокрутки для
Цены
. Для этого необходимо создать
Именованную формулу
Цена
, где в поле
Диапазон
указать формулу
=СМЕЩ($F$11;0;СмещГода)
.
Флажок
При выборе пользователем текущего года, в таблице с данными (
G9:K12
) соответствующий столбец будет закрашиваться серым фоном. Для выделения столбца выбранного года используем
Условное форматирование
.
Сначала вставим на лист элемент
Флажок
. Этим элементом мы будем включать и выключать выделение в таблице столбца выбранного года. Элемент свяжите с ячейкой
$G$2
. Если флажок снят, то в этой ячейке будет ЛОЖЬ (этому значению соответствует 0), если установлен, то ИСТИНА (этому значению соответствует 1).
Для настройки
Условного форматирования
выделим диапазон
G9:K12
. Так как формула в Условном форматировании будет содержать
относительную ссылку
, то убедимся, что после выделения диапазона активной ячейкой является G9 (т.е. диапазон надо выделять начиная именно с нее. Подсказкой служит поле
Имя
, находящееся слева от
Строки формул
. После выделения диапазона оно должно содержать
G
9
).
-
вызовите инструмент
Условное форматирование
(
);
-
выберите
Использовать формулу
для определения форматируемых ячеек; -
в поле «
Форматировать значения, для которых следующая формула является истинной
» введите
=И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2)
Формула примет значение ИСТИНА, когда выполнится одновременно 2 условия: -
значение выражения (
СмещГода
(изменяется от 1 до 5 (т.е. от 2009 до 2013 года) + 6) совпадет с номером текущего столбца (7, т.е. 2009 год); -
Флажок
Условное форматирование
установлен. - выберите требуемый формат, например, серый цвет заливки;
- нажмите ОК.
Тестируем
-
убедимся, что флажок
Условное форматирование
установлен; -
выберем переключатель
Список
; -
в элементе управления
Список
выберем 2010; -
убедимся, что столбец
2010
выделен серым;
Полосой прокрутки
изменим количество в столбце 2010.
Результат показан на рисунке.
К сожалению, у элементов управления формы
Флажок, Поле со списком
и
Список
нет возможности отформатировать отображаемый шрифт. Зато это можно сделать у элементов ActiveX (
). Правда, для работы с этими элементами требуется писать программу на VBA.
Содержание
- Применение инструментов заполнения
- Способ 1: встроенный объект для ввода данных Excel
- Способ 2: создание пользовательской формы
- Вопросы и ответы
Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.
Применение инструментов заполнения
Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.
Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.
Способ 1: встроенный объект для ввода данных Excel
Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.
- Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
- В открывшемся окне параметров Эксель перемещаемся в раздел «Панель быстрого доступа». Большую часть окна занимает обширная область настроек. В левой её части находятся инструменты, которые могут быть добавлены на панель быстрого доступа, а в правой – уже присутствующие.
В поле «Выбрать команды из» устанавливаем значение «Команды не на ленте». Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию «Форма…». Затем жмем на кнопку «Добавить».
- После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку «OK».
- Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
- Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия «Наименование товара», «Количество», «Цена» и «Сумма». Вводим данные названия в произвольный горизонтальный диапазон листа.
- Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
- После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку «Форма…», который мы ранее активировали.
- Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
- Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку «Добавить».
- После этого, как видим, в первую строку таблицы были автоматически перенесены введенные значения, а в форме произошел переход к следующему блоку полей, который соответствуют второй строке табличного массива.
- Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке «Добавить».
- Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
- Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
- Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок «Назад» и «Далее» или вертикальной полосы прокрутки.
- При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку «Добавить».
- Как видим, изменение сразу произошло и в табличной области.
- Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке «Удалить» в окошке инструмента.
- Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку «OK».
- Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку «Закрыть».
- После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.
Способ 2: создание пользовательской формы
Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.
- Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
- Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
- Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
- Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке «Главная». После выделения ячейки табличной области на ленте в блоке настроек «Редактирование» щелкаем по значку «Сортировка и фильтр». В появившемся списке выбираем позицию «Фильтр».
- Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
- Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы «№ п/п» и «Сумма». Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.
Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.
- После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня («Список товаров») можно залить цветом.
- Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку «Данные». Щелкаем по значку «Проверка данных», который размещен на ленте в блоке инструментов «Работа с данными».
- Запускается окно проверки вводимых данных. Кликаем по полю «Тип данных», в котором по умолчанию установлен параметр «Любое значение».
- Из раскрывшихся вариантов выбираем позицию «Список».
- Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле «Источник». Щелкаем по пиктограмме справа от него левой клавишей мыши.
- Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области «Список товаров». После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
- Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле «Источник». Кликаем по кнопке «OK» внизу окна.
- Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива «Список товаров». Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
- Как видим, выбранная позиция тут же отобразилась в поле «Наименование товара».
- Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование «Картофель». Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем «Name». Пишем данное наименование в поле и жмем на клавишу Enter на клавиатуре.
- Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя «Volum».
- А ячейке с ценой – «Price».
- После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя «Diapason».
- После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
- В открывшемся окне сохранения в поле «Тип файлов» выбираем значение «Книга Excel с поддержкой макросов (.xlsm)». Далее жмем на кнопку «Сохранить».
- Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку «Разработчик», если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
- После того, как вы сделали это, переходим во вкладку «Разработчик». Кликаем по большому значку «Visual Basic», который расположен на ленте в блоке инструментов «Код».
- Последнее действие приводит к тому, что запускается редактор макросов VBA. В области «Project», которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это «Лист 1».
- После этого переходим к левой нижней области окна под названием «Properties». Тут расположены настройки выделенного листа. В поле «(Name)» следует заменить кириллическое наименование («Лист1») на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет «Producty», хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.
В поле «Name» тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.
Как видим, после этого автоматически изменится и наименование Листа 1 в области «Project», на то, которое мы только что задали в настройках.
- Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу F7 и оно появится.
- Теперь для конкретно нашего примера нужно записать в поле следующий код:
Sub DataEntryForm()
Dim nextRow As Long
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With Producty
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
nextRow = nextRow - 1
End If
Producty.Range("Name").Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
.Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
.Range("Diapason").ClearContents
End With
End Sub
Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.
Итак, первая строка:
Sub DataEntryForm()
«DataEntryForm» — это название самого макроса. Вы можете оставить его как есть, а можете заменить на любое другое, которое соответствует общим правилам создания наименований макросов (отсутствие пробелов, использование только букв латинского алфавита и т.д.). Изменение наименования ни на что не повлияет.
Везде, где встречается в коде слово «Producty» вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле «(Name)» области «Properties» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.
Теперь рассмотрим такую строку:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.
Далее рассмотрим строку
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
«A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.
Переходим к строке
Producty.Range("Name").Copy
В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.
В строках
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = Producty.Range("Volum").Value
.Cells(nextRow, 4).Value = Producty.Range("Price").Value
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.
В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.
В строке производится умножение количества товара на его цену:
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.
В этом выражении выполняется автоматическая нумерация строк:
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты «A» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
.Range("Diapason").ClearContents
Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
- После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку «Разработчик». В блоке настроек «Элементы управления» на ленте кликаем по кнопке «Вставить». Открывается перечень инструментов. В группе инструментов «Элементы управления формы» выбираем самый первый – «Кнопка».
- Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
- После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется «DataEntryForm». Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку «OK» внизу окна.
- После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.
В нашем случае, например, логично будет дать ей имя «Добавить». Переименовываем и кликаем мышкой по любой свободной ячейке листа.
- Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку «Добавить».
- Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
- Повторно заполняем форму и жмем на кнопку «Добавить».
- Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.
Читайте также:
Как создать макрос в Excel
Как создать кнопку в Excel
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Хотя в таблицах Excel обычно хранится большой объем данных и математических формул, позволяющих выполнять вычисления на основе значений в разных ячейках или даже листах, также можно добавлять данные на наши рабочие листы с помощью из формы Excel . Тогда мы покажем что такое формы Excel и как их создавать.
Формы Excel — это метод добавления данных в наш листы Excel . В эти формы мы можем добавлять рукописные данные или даже включать элементы, которые позволяют нам выбирать данные, чтобы избежать ошибок. На самом деле формы Excel похожи на все формы, которые мы привыкли заполнять на бумаге или даже в Интернете, да, в Excel.
Excel позволяет создавать три типа форм, формы данные , рабочие листы с Элементы управления ActiveX или формы et пользовательские формы в VBA . Un форма данных позволяет войти или отображать строку информацию в диапазоне или таблице без необходимости прокручивать по горизонтали. Следовательно, мы сможем лучше визуализировать данные на листе при использовании формы данных, так как нам не придется прокручивать от столбца к столбцу, если на нашем листе больше столбцов данных, чем то, что мы видим на экране.
Когда мы говорим о электронная таблица с ActiveX и элементами управления формами , мы имеем в виду тип формы, который позволяет вводить и отображать данные в самой сетке, а также выполнять их проверку. Элементы управления формы позволяют взаимодействовать с данными ячеек без использования кода VBA. Элементы управления Active X могут использоваться в формах листов с использованием кода VBA или без него, а также в пользовательских формах VBA. Одной из характеристик элементов управления Active X является то, что они имеют множество свойств, которые позволяют настраивать их внешний вид и поведение.
Чтобы создать форму данных в Excel , мы открываем инструмент Office и переходим к пункту меню Data> Data tools> form. Теперь создаем новую форму и записываем соответствующую информацию. Имейте в виду, что подписи столбцов преобразуются в имена capo, а данные, которые мы записываем в каждое поле формы, помещаются в следующую пустую строку.
Если мы хотим создать форму с элементами управления содержимым , первое, что нам нужно сделать, это убедиться, что вкладка «Разработчик» видна, в противном случае мы показываем ее в меню «Файл»> «Параметры»> «Настроить ленту» и добавляем вкладку «Разработчик». Теперь из «Программист»> «Элементы управления»> «Вставить» мы выбираем элементы управления формы или элементы управления Active X, которые мы хотим добавить в нашу форму.
Если мы хотим создать Пользовательские формы Excel в VBA , нам нужно будет открыть Excel и нажать Alt + F11, чтобы открыть интерфейс Microsoft Visual Basic. Как только это будет сделано, в меню «Вставка»> «Пользовательская форма» мы сможем выбрать элементы управления и добавить их в пользовательскую форму VBA.
vvvictor Пользователь Сообщений: 5 |
Прошу прощения за вопрос, думаю он многим покажется не серьезным, но для меня это большая проблема так как являюсь юзером начального уровня(((!!!! Обновился на excel 2016 v 15.24 хочу создать пользовательскую форму и не могу найти эту команду. Пытался через «Параметры>Лента и панель быстрого доступа» найти эту команду, но ее просто НЕТ!!!!! Два часа сижу в инете и не могу найти в чем дело!!! |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#3 01.08.2016 08:41:44
Вопрос, конечно, интересный — было бы здорово самому довернуть предлагаемую «жесткую» форму… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
vvvictor Пользователь Сообщений: 5 |
#4 01.08.2016 11:49:34
Михаил, спасибо, но именно этой команды у меня в списке и нет!!!![img]file:///Users/Vvviktor/Desktop/%D0%9F%D0%91%D0%94.tiff[/img]
Прикрепленные файлы
|
|||
Пардон. Не обратил внимания, что это «Вопросы по Excel для Mac« |
|
vvvictor Пользователь Сообщений: 5 |
#6 01.08.2016 18:49:43
В office 2011 для Мас формы были, а в 2016 — пропали. Может кто поможет???? Спецы, что делать???? |
||
Pelena Пользователь Сообщений: 1416 |
vvvictor, в Mac Office 2016 сильно урезан редактор VBA. Вот тут мы как-то обсуждали эту проблему. С тех пор появилась возможность создавать модули и макросы, но формы пока не создаются Изменено: Pelena — 01.08.2016 20:01:39 |
vvvictor Пользователь Сообщений: 5 |
#8 01.08.2016 21:04:09
И как же быть? Откатится на 2011? |
||
Pelena Пользователь Сообщений: 1416 |
У меня, например, оба офиса стоят |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#10 02.08.2016 09:13:55
но все равно странно. Речь-то не про UserForm, а про стандартный инструмент Форма. Он-то почему не работает? VBA здесь вроде как участия не принимает. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
vvvictor Пользователь Сообщений: 5 |
И мне очень странно, ведь в описании продукта ссылка на формы есть, а как их вставить описания нет Поддержка офис |
Pelena Пользователь Сообщений: 1416 |
#12 02.08.2016 11:37:11
Значит, я неправильно поняла, сбил с толку
сорри |
||||