Содержание
- Создание форм для заполнения и печати в Excel
- Шаг 1. Отображение вкладки «Разработчик».
- Шаг 2. Добавление и форматирование элементов управления содержимым
- Шаг 3. Защита листа, содержащего форму
- Шаг 4. Проверка формы (необязательно)
- Создание кнопки в Microsoft Excel
- Процедура создания
- Способ 1: автофигура
- Способ 2: стороннее изображение
- Способ 3: элемент ActiveX
- Способ 4: элементы управления формы
- Формы ввода данных в Microsoft Excel
- Применение инструментов заполнения
- Способ 1: встроенный объект для ввода данных Excel
- Способ 2: создание пользовательской формы
Создание форм для заполнения и печати в Excel
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
В меню Excel выберите элемент Параметры.
В разделе Разработка выберите Представление.
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
На вкладке Разработчик выберите элемент управления, который хотите добавить.
На листе щелкните место, куда нужно вставить элемент управления.
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
Выберите нужные параметры защиты.
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
Защитите форму, как указано в описании шага 3.
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Источник
Создание кнопки в Microsoft Excel
Excel является комплексным табличным процессором, перед которым пользователи ставят самые разнообразные задачи. Одной из таких задач является создание кнопки на листе, нажатие на которую запускало бы определенный процесс. Данная проблема вполне решаема с помощью инструментария Эксель. Давайте разберемся, какими способами можно создать подобный объект в этой программе.
Процедура создания
Как правило, подобная кнопка призвана выступать в качестве ссылки, инструмента для запуска процесса, макроса и т.п. Хотя в некоторых случаях, данный объект может являться просто геометрической фигурой, и кроме визуальных целей не нести никакой пользы. Данный вариант, впрочем, встречается довольно редко.
Способ 1: автофигура
Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.
- Производим перемещение во вкладку «Вставка». Щелкаем по значку «Фигуры», который размещен на ленте в блоке инструментов «Иллюстрации». Раскрывается список всевозможных фигур. Выбираем ту фигуру, которая, как вы считаете, подойдет более всего на роль кнопки. Например, такой фигурой может быть прямоугольник со сглаженными углами.
Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.
Способ 2: стороннее изображение
В качестве кнопки можно также использовать сторонний рисунок.
- Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
- Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».
- Открывается окно выбора изображения. Переходим с помощью него в ту директорию жесткого диска, где расположен рисунок, который предназначен выполнять роль кнопки. Выделяем его наименование и жмем на кнопку «Вставить» внизу окна.
- После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.
Теперь при нажатии на объект будет запускаться выбранный макрос.
Способ 3: элемент ActiveX
Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.
- Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
- В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
- После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
- После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
- Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
- Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
Теперь макрос будет привязан к объекту.
Способ 4: элементы управления формы
Следующий способ очень похож по технологии выполнения на предыдущий вариант. Он представляет собой добавление кнопки через элемент управления формы. Для использования этого метода также требуется включение режима разработчика.
- Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
- Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
- После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.
Источник
Формы ввода данных в Microsoft Excel
Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.
Применение инструментов заполнения
Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.
Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.
Способ 1: встроенный объект для ввода данных Excel
Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.
- Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
- В открывшемся окне параметров Эксель перемещаемся в раздел «Панель быстрого доступа». Большую часть окна занимает обширная область настроек. В левой её части находятся инструменты, которые могут быть добавлены на панель быстрого доступа, а в правой – уже присутствующие.
В поле «Выбрать команды из» устанавливаем значение «Команды не на ленте». Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию «Форма…». Затем жмем на кнопку «Добавить».
Способ 2: создание пользовательской формы
Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.
- Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
- Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
- Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
- Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке «Главная». После выделения ячейки табличной области на ленте в блоке настроек «Редактирование» щелкаем по значку «Сортировка и фильтр». В появившемся списке выбираем позицию «Фильтр».
Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.
В поле «Name» тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.
Как видим, после этого автоматически изменится и наименование Листа 1 в области «Project», на то, которое мы только что задали в настройках.
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
Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.
Итак, первая строка:
«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» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.
Переходим к строке
В ней параметр «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» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
В нашем случае, например, логично будет дать ей имя «Добавить». Переименовываем и кликаем мышкой по любой свободной ячейке листа.
В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде 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, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.
Благодаря формам, а также многочисленным элементам управления и объектам, которые можно в них добавить, значительно упрощается ввод данных в листы и улучшается их внешний вид. Вы также можете делать это самостоятельно, и вам почти или совсем не потребуется код Microsoft Visual Basic для приложений (VBA).
Форма листа и шаблон Excel — это не одно и то же. Шаблон — это предварительно отформатированный файл, который служит отправной точкой для создания книги с требуемым оформлением. Форма содержит элементы управления, такие как поля и раскрывающиеся списки, упрощающие ввод и изменение данных для использующих ваш лист. Дополнительные информацию о шаблонах, которые можно скачать, см. в Excel шаблонов.
Общие сведения о формах
Форма (печатная или веб-версия) — это документ со стандартной структурой и форматированием, который упрощает сбор, у упорядочение и редактирование сведений.
-
Печатаемая форма содержит инструкции, форматирование, наклейки и пустые пробелы для ввода и ввода данных. Для создания печатных Excel и Excel шаблонов.
-
Веб-формы содержат те же функции, что и печатные формы. Кроме того, веб-формы содержат элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод или изменение данных, выполнение действия или выбор данных. Как правило, элементы управления упрощают работу с формой. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).
Создавать печатные Excel веб-формы можно несколькими способами.
Типы форм Excel
В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.
Форма данных
форма данных предоставляет удобный способ ввода или отображения одной строки данных из диапазона или таблицы, не требующий применения горизонтальной прокрутки. Использовать форму данных может быть проще, чем перемещаться между столбцами, которых слишком много для одновременного отображения на экране. Форму данных можно применять тогда, когда достаточно простой формы с текстовыми полями, в качестве подписей которых используются заголовки столбцов, и когда не требуются сложные или пользовательские возможности, например списки и счетчики.
Excel может автоматически создать встроенную форму данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, находить строки путем навигации или (на основе содержимого ячейки) обновлять строки и удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.
Лист с формой и элементами ActiveX
Этот тип формы позволяет вводить и просматривать данные в сетке. Кроме того, на Excel уже встроены некоторые функции, похожие на элементы управления, такие как приметки и проверка данных. Ячейки напоминают текстовые поля, которые можно вводить и форматированием различными способами. Ячейки часто используются в качестве подписей, и благодаря регулировке высоты и ширины ячеек, а также объединению ячеек можно настроить поведение таблицы как простую форму для ввода данных. Другие функции управления, такие как приметки к ячейкам, гиперссылки, фоновые изображения, проверка данных, условное форматирование, внедренные диаграммы и автофайл, могут привести к работе с таблицами как к расширенным формам.
Для большей гибкости вы можете добавлять элементы управления и другие объекты-рисунки полотно на полотно, а также объединять и координировать их с ячейками. Например, с помощью списка можно упростить выбор элементов в списке. Кроме того, можно упростить ввод номера с помощью счетчика.
Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.
В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. Кроме этих наборов элементов управления, вы также можете добавлять объекты из средств рисования, такие как автофигуры, объект WordArt, графические элементы SmartArt или текстовые поля.
В следующих разделах более подробно описываются элементы управления и средства рисования, а также работа с ними.
Элементы управления формы
Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.
Элементы управления формы используются, если вы хотите легко ссылаться на данные ячеок и взаимодействовать с ними, не используя код VBA, а также добавлять их на листы диаграмм. Например, после добавления элемента управления «список» на лист и связывания его с ячейкой можно вернуть числовые значения для текущего положения выбранного элемента управления. Затем можно использовать это число в сочетании с функцией ИНДЕКС для выбора различных элементов в списке.
С помощью элементов управления формы можно также выполнять макросы. Можно назначить элементу управления существующий макрос либо создать или записать новый. Когда пользователь формы щелкает элемент управления, запускается макрос.
Однако эти элементы управления невозможно добавить в пользовательские формы, использовать для управления событиями или изменить для запуска веб-сценариев на веб-страницах.
Обзор элементов управления формы
Название кнопки |
Пример |
Описание |
|
---|---|---|---|
|
Надпись |
|
Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции. |
|
Значок кнопки |
|
Группирует связанные элементы управления в виде прямоугольника с необязательной подписью. Обычно группируются переключатели, флажки или тесно связанные данные. |
|
Изображение кнопки |
|
Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой. |
|
Флажок |
|
Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Переключатель |
|
Позволяет выбрать одно из ограниченного набора взаимоисключающих значений. Переключатели обычно находятся в группе или рамке. Переключатель может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Список |
|
Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.
|
|
Поле со списком |
|
Представляет собой сочетание текстового поля и раскрывающегося списка. Поле со списком компактнее обычного списка, однако чтобы отобразить список элементов, пользователь должен щелкнуть стрелку вниз. Поле со списком следует использовать, когда требуется обеспечить возможность ввода элементов в список и выбора из него одного элемента. В этом элементе управления отображается текущее значение независимо от того, каким образом оно было введено. |
|
Полоса прокрутки |
|
Используется для прокрутки диапазона значений с помощью кнопок со стрелками или путем перетаскивания ползунка полосы прокрутки. Можно перемещаться по странице значений (с заранее заданным интервалом), щелкая область между ползунком и одной из кнопок со стрелками для прокрутки. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
|
Счетчик |
|
Позволяет увеличивать и уменьшать значение, например числовое значение, время или дату. Чтобы увеличить значение, щелкните стрелку вверх, чтобы уменьшить — стрелку вниз. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
Примечание: Следующие элементы управления недоступны в Office Excel 2007 книгах. Эти элементы управления можно использовать только Excel на листах диалогов версии 5.0.
Название кнопки |
---|
|
|
со #x0 — вниз, редактирование |
|
Элементы ActiveX
Элементы ActiveX можно использовать на формах листа (без кода VBA или с ним), а также на пользовательских формах VBA. Мы рекомендуем применять их, если требуются более гибкие возможности, чем у элементов управления формы. Многочисленные свойства элементов ActiveX позволяют настраивать их внешний вид, поведение, шрифты и другие характеристики.
Можно также управлять событиями, которые происходят при взаимодействии с элементом ActiveX. Например, можно выполнять различные действия в зависимости от того, какой элемент выбирается из списка, или отправлять запрос базе данных для заполнения поля со списком элементами при нажатии кнопки. Можно также создавать макросы, которые реагируют на события, связанные с элементами ActiveX. При выборе элемента управления будет выполняться код VBA, обрабатывающий все назначенные ему события.
На компьютере находятся многочисленные элементы ActiveX, установленные приложением Excel и другими программами, такими как Calendar Control 12.0 и проигрыватель Windows Media.
Важно: Не все элементы ActiveX можно использовать непосредственно на листах; некоторые из них можно применять только к пользовательским формам Visual Basic для приложений (VBA). При попытке добавить такие элементы управления на лист в приложении Excel отображается сообщение «Вставка объекта неосуществима».
Тем не менее элементы ActiveX невозможно добавить на листы диаграмм (с помощью пользовательского интерфейса) или на листы макросов XLM. Кроме того, невозможно назначить макрос, который будет запускаться непосредственно из ActiveX так же, как и для управления формы.
Обзор элементов ActiveX
Название кнопки |
Пример |
Описание |
|
---|---|---|---|
|
Флажок |
|
Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно одновременно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Текстовое поле |
|
Позволяет просматривать, ввести или изменить текст или данные, привязанные к ячейке, в прямоугольнике. Текстовое поле также может быть статическим и содержать данные, предназначенные только для чтения. |
|
Кнопка |
|
Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой. |
|
Переключатель |
|
Позволяет выбрать одно из ограниченного набора взаимоисключающих значений. Переключатели обычно находятся в группе или рамке. Переключатель может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов). |
|
Список |
|
Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.
|
|
Поле со списком |
|
Представляет собой сочетание текстового поля и раскрывающегося списка. Поле со списком компактнее обычного списка, однако чтобы отобразить список элементов, пользователь должен щелкнуть стрелку вниз. Поле со списком следует использовать, когда требуется обеспечить возможность ввода элементов в список и выбора из него одного элемента. В этом элементе управления отображается текущее значение независимо от того, каким образом оно было введено. |
|
Выключатель |
|
Указывает на состояние (да/нет) или режим (вкл./выкл.). При нажатии кнопки она меняет свое состояние на противоположное. |
|
Счетчик |
|
Позволяет увеличивать и уменьшать значение, например числовое значение, время или дату. Чтобы увеличить значение, щелкните стрелку вверх, чтобы уменьшить — стрелку вниз. Как правило, пользователь также может вводить текст в связанную ячейку или текстовое поле. |
|
Полоса прокрутки |
|
Используется для прокрутки диапазона значений с помощью кнопок со стрелками или путем перетаскивания ползунка полосы прокрутки. Можно перемещаться по странице значений (с заранее заданным интервалом), щелкая область между ползунком и одной из кнопок со стрелками для прокрутки. Как правило, пользователь также может вводить текст непосредственно в связанную ячейку или текстовое поле. |
|
Надпись |
|
Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции. |
|
Изображение |
|
Выводит изображение, например точечный рисунок, JPEG или GIF. |
Рамка |
|
Группирует связанные элементы управления в виде прямоугольника с необязательной подписью. Обычно группируются переключатели, флажки или тесно связанные данные. Примечание: Элемент ActiveX рамки не доступен в разделе ActiveX элементов управления команды Вставка. Тем не менее его можно добавить из диалогового окна Другие элементы, выбрав пункт Рамка Microsoft Forms 2.0. |
|
|
Другие элементы |
Выводит список доступных на компьютере элементов ActiveX, которые можно добавить в настраиваемую форму (например, элементы Calendar Control 12.0 или проигрывателя Windows Media). В этом диалоговом окне также можно зарегистрировать пользовательский элемент управления. |
Объекты средств рисования
вы также можете включить в форму графические элементы SmartArt, фигуры, wordArt и текстовые поля. Можно изменять размер и цвет таких объектов, поворачивать, отражать и объединять их, чтобы получать еще более сложные фигуры. Текст, который вы вводите непосредственно в фигуру или надпись, становится частью объекта — при повороте или отражении объекта он также меняет свое положение. В отличие от элементов ActiveX, отдельным словам и знакам в объекте можно назначать различные атрибуты, например размер или начертание шрифта. Кроме того, объектам можно назначать макросы или гиперссылки. Можно даже связать текст в фигуре или надписи с ячейкой листа и динамически выводить обновленные значения.
Работа с элементами управления и объектами на листе
После добавления форм и элементов ActiveX на форму листа обычно их требуется настроить и упорядочить для создания привлекательной и понятной формы. При этом часто выполняются перечисленные ниже задачи.
-
Управление отображением линий сетки при работе с элементами управления и отключение либо включение вывода линий сетки на готовой форме листа.
-
Выбор или отмена выбора элементов управления с целью указания свойств или дополнительной настройки.
-
Изменение текста элемента управления, например заголовка или подписи.
-
Группировка, копирование, перемещение и выравнивание элементов управления для упорядочения макета формы листа.
-
Изменение размера и форматирования элементов управления для достижения требуемого внешнего вида.
-
Изменение положения или размера элемента управления относительно ячейки.
-
Защита элементов управления и связанных ячеек в соответствии с собственными потребностями.
-
Включение или отключение печати элементов управления вместе с формой листа.
-
Удаление неиспользуемых элементов управления.
На фоне формы листа можно отобразить или скрыть линии сетки. Например, может потребоваться отключить линии сетки ячеек и затем применить ко всем ячейкам один и тот же цвет либо узор или даже использовать в качестве фона листа рисунок. Чтобы скрыть или отобрать линии сетки, на вкладке Вид в группе Показать или скрыть, скройте или выберите поле Сетка.
Определение типа элемента управления на листе
Поскольку существует три разных типа элементов управления и объектов, которые можно изменять уникальным образом, иногда невозможно точно определить тип элемента управления по его внешнему виду. Чтобы определить тип элемента управления (элемент управления формы или элемент ActiveX), щелкните его правой кнопкой мыши и просмотрите контекстное меню.
-
Если контекстное меню содержит команду Свойства, элемент управления является элементом ActiveX и сейчас используется режим конструктора.
-
Если контекстное меню содержит команду Назначить макрос, это элемент управления формы.
Совет: Чтобы отобразить правильное shortcut menu для группы box Form control, убедитесь, что вы выбрали периметр, а не внутреннюю часть группы.
-
Если контекстное меню содержит команду Изменить текст, это объект-рисунок.
Пользовательские формы VBA
Для максимальной гибкости можно создавать пользовательские формы пользователей, которые обычно включают один или несколько ActiveX элементов управления. Пользовательские формы вызываются из программного кода VBA, который создается в редакторе Visual Basic. Ниже приведены общие указания по созданию пользовательских форм.
-
Вставьте пользовательскую форму в проект VBA книги. Для доступа к проекту VBA нужно сначала отобразить редактор Visual Basic (нажмите ALT+F11), а затем в меню Вставка нажать кнопку Пользовательскаяформа.
-
Создайте процедуру для отображения пользовательской формы.
-
Добавьте элементы ActiveX.
-
Измените свойства элементов ActiveX.
-
Создайте процедуры обработчика событий для элементов ActiveX.
Пользовательские формы также могут использовать дополнительные функции форм. Например, можно программным образом добавить отдельный переключатель для каждой буквы алфавита или флажок для каждого элемента в крупном списке дат и чисел.
Перед созданием пользовательских форм рассмотрите возможность применения встроенных диалоговых окон, доступных в Excel. Они включают функции VBA InputBox и MsgBox, метод Excel InputBox, метод GetOpenFilename, метод GetSaveAsFilename и объект Dialogs объекта Application, который содержит все встроенные диалоговые окна Excel.
Дополнительные сведения можно получить в Центре разработчика Microsoft Office Excel.
К началу страницы
Вставка командной кнопки на рабочий лист для начинающих программировать с нуля. Кнопки из коллекций «Элементы управления формы» и «Элементы ActiveX».
Начинаем программировать с нуля
Часть 3. Первая кнопка
[Часть 1] [Часть 2] [Часть 3] [Часть 4]
Добавление вкладки «Разработчик»
Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:
Порядок действий:
- Откройте окно «Параметры» через меню «Файл».
- Выберите вкладку «Настроить ленту».
- В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».
Кнопка – элемент управления формы
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы управления формы».
- Кликните в любом месте на рабочем листе Excel.
- Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
- После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.
Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.
Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.
Чтобы вернуться в режим редактирования кнопки, кликните по ней правой кнопкой мыши и выберите из контекстного меню нужный пункт. Если вы хотите изменить размер или размещение кнопки перетаскиванием, кликните левой кнопкой мыши в любом месте рабочего листа. После первого клика контекстное меню закроется, а кнопка останется в режиме редактирования.
Создание процедуры для кнопки
Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.
Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».
В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».
Вставьте внутрь шаблона процедуры следующий код:
‘Записываем в ячейку A1 число 44 Cells(1, 1) = 44 ‘Записываем в ячейку B1 число 56 Cells(1, 2) = 56 ‘Записываем в ячейку C1 формулу, которая ‘вычисляет сумму значений ячеек A1 и B1 Cells(1, 3) = «=A1+B1» |
На этом процедура (подпрограмма, макрос) для кнопки готова.
Назначение макроса кнопке
Кликните правой кнопкой мыши по кнопке на рабочем листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».
Выберите в списке процедуру «NovayaProtsedura» и нажмите «OK». Кликните левой кнопкой мыши по рабочему листу, чтобы командная кнопка вышла из режима редактирования.
Теперь можете нажать созданную кнопку из коллекции «Элементы управления формы» для проверки ее работоспособности.
Кнопка – элемент ActiveX
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы ActiveX».
- Кликните по рабочему листу и кнопка из коллекции «Элементы ActiveX» появится рядом с курсором.
- Автоматически включится режим редактирования, включение и отключение которого осуществляется кнопкой «Режим конструктора».
Ухватив кнопку за кружок, можно изменить ее размер, а ухватив за границу – перетащить на другое место. Чтобы отредактировать наименование кнопки, нужно кликнуть на ней правой кнопкой мыши и в контекстном меню выбрать «Объект CommandButton» > «Edit».
Добавление процедуры
Кликните дважды по кнопке из коллекции «Элементы ActiveX» левой кнопкой мыши в режиме конструктора. Это приведет к открытию модуля листа, на который вставлена кнопка, и записи шаблона процедуры «CommandButton1_Click».
Вставьте внутрь шаблона процедуры код, который будет очищать ячейки A1, B1 и C1:
Перейдите на рабочий лист и, если кнопка «Режим конструктора» затемнена, нажмите на нее, чтобы выйти из режима редактирования. После этого нажмите кнопку «CommandButton1», и она очистит ячейки, заполненные ранее нажатием кнопки «Кнопка 1».
Теперь кнопка из коллекции «Элементы управления формы» (Кнопка 1) будет заполнять ячейки диапазона «A1:C1», а кнопка из коллекции «Элементы ActiveX» (CommandButton1) очищать их.
Формы ввода данных в Microsoft Excel
Смотрите также должна найти в 5 (т.е. от выбранного года в лет: 2009, 2010, в следующих статьях: оригинал (на английском обведена, отпускаем клавишуВ строке производится умножениеЦифра белого цвета в не сделали. Дело только можно выбрать а расчет значений автоматического добавления строчек его в форме. при открытии любойДля облегчения ввода данных диапазоне A2:G16 на 2009 до 2013
диапазоне лет 2011, 2012, 2013.
Применение инструментов заполнения
Флажок; языке) . мыши. Затем автоматически количества товара на«2» указанной области не в том, что из представленного списка во втором будет при заполнении соседних Чтобы изменения отобразились книги данным экземпляром в таблицу в листе Данные строку, года) + 6)G9:K9 Эти значения будутСчетчик;Кнопки
запускается окно назначения его цену:в данной строчке
Способ 1: встроенный объект для ввода данных Excel
отображается, как в обе эти функции нужную позицию. Выбираем производиться путем применения
- диапазонов или ячеек на листе, после Excel. Excel можно воспользоваться начинающуюся с символа совпадет с номером. Нажимаем Формулы/ Определенные использованы в элементеПолоса прокрутки;Форма макроса объекту. Если
- .Cells(nextRow, 5).Value = Producty.Range(«Volum»).Value означает второй столбец нашем случае, то по умолчанию в пункт в выпадающем формулы умножения количества данными. Для этого внесения их вТеперь, чтобы инструмент понял, специальными формами, которые «х» и выдать текущего столбца (7, имена/ Присвоить имя,
Поле со списком.Переключатель;нет на ленте, в вашей книге * Producty.Range(«Price»).Value листа. Именно в жмем на функциональную программе отключены, и списке. на цену. выделяем шапку и, соответствующий блок инструмента, что именно ему
- помогут ускорить процесс нам содержимое второго т.е. 2009 год); в поле ИмяСоздадим Именованный диапазон Список.Список;
- но в Excel применяется несколько макросов,Результат, как видим из этом столбце находится клавишу их активацию нужноКак видим, выбранная позицияВторой столбец объекта ввода находясь во вкладке
- жмем на кнопку нужно заполнять, следует заполнения табличного диапазона столбца этой строки,Флажок Условное форматирование установлен. вводим СмещГода, ввыделяем диапазонПоле со списком. 2010 кнопку то выбираем из синтаксиса записи, будет колонкаF7 выполнять принудительно в тут же отобразилась данных оставим пока«Главная»«Добавить» оформить шапку таблицы информацией. В Экселе т.е. номер платежа.
- выберите требуемый формат, например, поле диапазон вводимМ9:М12В этой статье рассмотримФорма списка название того, выводиться в пятый
- «Наименование товара»и оно появится. окне параметров Excel. в поле что пустым. Непосредственно, жмем на кнопку. и записать любое
- имеется встроенный инструментАналогичным образом заполняются все серый цвет заливки; формулу =ПОИСКПОЗ($E$9; $G$9:$K$9;0); более сложный примерможно добавить на который мы выше столбец листа Excel.. По ней мыТеперь для конкретно нашего
- После того, как вы«Наименование товара» в него позже«Форматировать как таблицу»Как видим, изменение сразу значение в ней. позволяющий производить заполнение
- остальные ячейки нанажмите ОК. Если выбран 2009,нажимаем Формулы/ Определенные имена/ совместного использования элементов панель быстрого доступа. создавали. У насВ этом выражении выполняется будем считать количество
- примера нужно записать сделали это, переходим. будут вводиться значенияв блоке инструментов произошло и в Пусть табличный массив подобным методом. Также
- бланке — вубедимся, что флажок Условное то формула вернет Присвоить имя; управления и УсловногоЩелкните стрелку рядом с
- он называется автоматическая нумерация строк: рядов. Поэтому, если в поле следующий
- во вкладкуДалее нам нужно будет для заполнения строк«Стили» табличной области. у нас будет пользователь может создать формуле меняется только форматирование установлен; 1.
- в поле Имя вводим форматирования.панелью быстрого доступа«DataEntryForm»If nextRow > в вашем случае код:«Разработчик» присвоить имена тем основного табличного диапазона.. После этого открывается
- Если нам нужно удалить, состоять из четырех собственный вариант формы,
- номер столбца.выберем переключатель Список;Для определения ячейки строки Список.Разберем конкретный пример примененияи выберите пункт. Но в данном 2 Then аналогичный столбец имеетSub DataEntryForm(). Кликаем по большому
- трем ячейкам формыПосле этого создаем ещё список доступных вариантов какую-то строчку, то столбцов, которые имеют которая будет максимальноДля вывода суммы прописьюв элементе управления Список Количество, соответствующую выбранному
- Теперь свяжем элемент управления сразу нескольких ЭлементовДругие команды случае макрос один,Range(«A2»).Select другой порядок поDim nextRow As значку ввода, куда мы одну небольшую таблицу.
- стилей. На функционал через кнопки навигации названия адаптирована под его
Способ 2: создание пользовательской формы
я воспользовался функцией выберем 2010; году используем формулу с данными на управления. В файле. поэтому просто выбираемSelection.AutoFill Destination:=Range(«A2:A» & счету, то нужно Long«Visual Basic» будем вводить данные. Она будет состоять выбор одного из или полосу прокрутки«Наименование товара» потребности, применив дляPropisубедимся, что столбец 2010 =СМЕЩ($F$10;0;СмещГода). Формула вернет листе. Для этого: примера с помощьюВ поле его и жмем nextRow) ввести соответствующее число.nextRow = Producty.Cells(Producty.Rows.Count,, который расположен на Выделяем первую ячейку, из одного столбца них никак не
- переходим к соответствующему, этого макрос. Давайтеиз надстройки PLEX. выделен серым; диапазон, состоящий извыделите элемент управления Поле элементов управления показаноВыбрать команды из: на кнопкуRange(«A2:A» & nextRow).Select Значение 2).End(xlUp).Offset(1, 0).Row ленте в блоке где уже установлено и в ней повлияет, поэтому выбираем
- ей блоку полей«Количество» рассмотрим различные вариантыВ итоге должно получитьсяПолосой прокрутки изменим количество одной ячейки. со списком; как пользователь можетвыберите пункт«OK»End If«End(xlUp).Offset(1, 0).Row»With Producty инструментов в нашем случае разместится список товаров, просто тот вариант, в форме. После, использования этих полезных следующее: в столбце 2010.В поле Связь справой клавишей вызовите его
- отредактировать значения вВсе командывнизу окна.Все значенияв любом случаеIf .Range(«A2»).Value =«Код» наименование которые мы будем который считаем более этого щелкаем по«Цена» инструментов заполнения вЕсли пользователь введет «х»Результат показан на рисунке. ячейкой элемента Полоса
- контекстное меню, затем таблице (диапазон.После этого можно переименовать«A2» оставляем без изменений. «» And .Range(«B2»).Value.«Картофель» выводить во вторую подходящим. кнопкеи Excel. напротив нескольких строк,К сожалению, у элементов прокрутки нельзя ввести Формат объекта…, вкладкаF9:K12В списке выберите кнопку
кнопку, как выозначают адрес первойДалее рассмотрим строку = «» ThenПоследнее действие приводит к. Далее переходим в колонку основной таблицы.Затем открывается небольшое окошко«Удалить»«Сумма»Скачать последнюю версию то функция ВПР управления формы Флажок, формулу, но можно, Элемент управления;).Форма захотите, просто выделив
- ячейки, где будетIf .Range(«A2»).Value = «»nextRow = nextRow тому, что запускается поле наименования диапазонов.
- Для наглядности ячейку форматирования таблицы. Вв окошке инструмента.. Вводим данные названия Excel будет брать только Поле со списком как мы ужев поле Формировать списокС помощью одного изи нажмите кнопку её текущее название. производиться нумерация, а And .Range(«B2»).Value = — 1 редактор макросов VBA. Оно расположено в с заголовком данного нем указан диапазон,Открывается диалоговое окно предупреждения, в произвольный горизонтальныйФорма заполнения представляет собой первое найденное значение.
и Список нет видели, ввести Имя. по диапазону вводим 3-х элементов управленияДобавитьВ нашем случае, например, координаты «
- «» ThenEnd If В области левой части окна перечня ( который мы ранее в котором сообщается, диапазон листа. объект с полями, Чтобы не было возможности отформатировать отображаемый Создадим Именованную формулу Количество, Список (вместо ссылки Поле со списком,
- . логично будет датьA»«A2»Producty.Range(«Name»).Copy«Project» Excel на том«Список товаров» выделили, то есть, что строка будетТакже, чтобы программа поняла, наименования которых соответствуют
- такой многозначности, щелкните шрифт. Зато это в поле Диапазон на ячейку мы Список и Счетчик,Совет: ей имя— адрес всего
- — это координаты.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues, которая расположена в же уровне, что
- ) можно залить цветом. диапазон шапки. Как удалена. Если вы с каким именно названиям колонок столбцов правой кнопкой мыши можно сделать у укажем формулу =СМЕЩ($F$10;0;СмещГода). ввели ссылку на
- пользователь может выбрать Дополнительные сведения об использовании«Добавить» столбца с нумерацией. первой ячейки, в.Cells(nextRow, 3).Value = верхней левой части и строка формул.Затем выделяем первую пустую правило, в данном уверены в своих диапазонам ей нужно заполняемой таблицы. В по ярлычку листа
- элементов ActiveX (Разработчик/ Теперь в поле определенное Имя!). Конечно, столбец таблицы (год). формы данных: Добавление,. Переименовываем и кликаем Проверьте, где именно которой будет выводиться Producty.Range(«Volum»).Value окна, выделяем имя
- Вводим туда произвольное ячейку объекта ввода поле заполнено все действиях, то жмите будет работать, следует эти поля нужноДанные Элементы управления/ Вставить). Связь с ячейкой вместо имени можно Нужный элемент управления изменение, поиск и мышкой по любой будет выводиться нумерация нумерация строк..Cells(nextRow, 4).Value = того листа, где название. Это может значений. Переходим во
- верно. Но нам на кнопку ввести любое значение вводить данные ии выберите
- Правда, для работы элемента полоса прокрутки было указать просто выбирается с помощью удаление строк с свободной ячейке листа. в вашей таблице«B2» Producty.Range(«Price»).Value располагаются наши таблицы. быть любое наименование вкладку следует установить галочку«OK» в первую строку они тут жеИсходный текст с этими элементами введите Количество. ссылку на диапазон; группы Переключателей. Название помощью формы данных.Итак, наша форма полностью и измените данные— это координаты.Cells(nextRow, 5).Value = В данном случае на латинице, в«Данные» около параметра. табличного массива. будут добавляться новой(Source Code) требуется писать программу
- Аналогичные манипуляции проделайте ссвяжем элемент с ячейкой выбранного элемента подсвечиваетсяЭлементы управления формы (Поле готова. Проверим, как координаты в коде,
- первой ячейки, по Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value это котором нет пробелов,
- . Щелкаем по значку«Таблица с заголовками»Как видим, строчка былаПосле этого выделяем любую строкой в табличный. В появившееся окно на VBA. полосой прокрутки для$C$8 серым цветом (см. со списком, Флажок, она работает. Вводим
- если это необходимо. которой будет производиться.Range(«A2»).Formula = «=IF(ISBLANK(B2),«Лист 1» но лучше все-таки«Проверка данных». После этого жмем извлечена из табличного ячейку заготовки таблицы диапазон. Форма может редактора Visual BasicИмеем базу данных (список, Цены. Для этого
- . В этой ячейкеA8:B8 Счетчик и др.) в её поляВ строке производится очистка вывод данных ( «»»», COUNTA($B$2:B2))». использовать названия близкие, который размещен на
- на кнопку диапазона. После того, и щелкаем на выступать как в скопируйте следующий код: таблицу — называйте необходимо создать Именованную формулу будет выводится порядковыйна рис. выше). помогают быстро менять необходимые значения и диапазона формы ввода«Наименование товара»If nextRow >После этого переходим к
- к решаемым данным ленте в блоке«OK» как заполнение и панели быстрого доступа виде отдельного встроенногоPrivate Sub Worksheet_Change(ByVal как хотите) с Цена, где в номер выбранного элемента Выбранный год выделяется данные на листе
- жмем на кнопку данных после того,). Если они у 2 Then левой нижней области элементом задачам. Поэтому инструментов. редактирование закончено, можно по значку инструмента Excel, так Target As Range) информацией по платежам поле Диапазон указать
- списка, т.е. если в таблице Условным в определенном диапазоне,«Добавить» как информация из вас отличаются, тоRange(«A2»).Select окна под названием первую ячейку, в«Работа с данными»Итак, наш диапазон отформатирован, выходить из окна«Форма…» и располагаться непосредственно Dim r As на листе формулу =СМЕЩ($F$11;0;СмещГода). выберем 2009, то форматированием темно серым включать и выключать. неё была перенесена введите вместо этихSelection.AutoFill Destination:=Range(«A2:A» &«Properties» которой содержится название. как «умная» таблица, инструмента, нажав на, который мы ранее на листе в Long Dim str
ДанныеПри выборе пользователем текущего выведется 1, т.к. цветом (см. опции, делать выборКак видим, значения перемещены в таблицу: координат свои данные. nextRow). Тут расположены настройки товара, назовемЗапускается окно проверки вводимых свидетельством чему является кнопку активировали. виде его диапазона,
As String If: года, в таблице это первый элементH9:H12 и пр. В в таблицу, строке.Range(«Diapason»).ClearContentsПереходим к строке
- Range(«A2:A» & nextRow).Select выделенного листа. В«Name» данных. Кликаем по даже изменение визуального«Закрыть»Итак, открывается окно указанного если она создана Target.Count > 1Задача с данными ( в списке. Дляна рис. выше). принципе, без них
- автоматически присвоен номер,Не трудно догадаться, чтоProducty.Range(«Name»).CopyEnd If
поле
. Пишем данное наименование полю
отображения. Как видим,.
инструмента. Как видим,
самим пользователем. Then Exit Sub: быстро распечатывать приходно-кассовый
G9:K12 дальнейших целей нам
Отображение этого выделения
можно обойтись, но
сумма посчитана, поля
(В ней параметр
.Range("Diapason").ClearContents«(Name)»
в поле и«Тип данных»
помимо прочего, околоПосле этого для предания
данный объект имеетТеперь давайте рассмотрим, как
If Target.Column =
ордер (платежку, счет-фактуру...)) соответствующий столбец будет
проще использовать именно
регулируется Флажком (фон
они делают управление
формы очищены.
«Diapason»«Name»End Withследует заменить кириллическое жмем на клавишу, в котором по каждого названия заголовка табличному массиву более поля, которые соответствуют пользоваться этими двумя 1 Then str для любой нужной закрашиваться серым фоном. год, а не флажка — красный). данными на листеПовторно заполняем форму и) означает наименование того
означат имя, которое
End Sub
наименование (Enter умолчанию установлен параметр столбцов появились значки наглядного визуального вида названиям столбцов нашего видами инструментов. = Target.Value Application.EnableEvents записи выбранной из Для выделения столбца его порядковый номер. Полосами прокрутки можно более наглядным и жмем на кнопку диапазона, который мы
мы присвоили полюНо этот код не«Лист1»на клавиатуре.«Любое значение» фильтрации. Их следует можно произвести форматирование. табличного массива. ПриПрежде всего, давайте узнаем, = False r этого списка. Поехали! выбранного года используем Для этого в редактировать Цену и уменьшают вероятность ввода«Добавить»
ранее присвоили полям
«Наименование товара» универсальный, то есть,
) на название, написанноеТочно таким же образом. отключить. Для этогоКроме того, с помощью этом первое поле как применять встроенную = Cells(Rows.Count, 2).End(xlUp).RowНа другом листе книги Условное форматирование. ячейку Количество в выбранном некорректных данных.. для ввода данных.в форме ввода. он в неизменном на латинице. Название присваиваем ячейке, вИз раскрывшихся вариантов выбираем
выделяем любую ячейку
макроса и ряда уже заполнено значением, форму для ввода
Range(«A2:A» & r).ClearContents (назовем этот листСначала вставим на листD8 году, но толькоДля вставки элементов управленияКак видим, и вторая Если вы далиВ строках виде подходит только можно дать любое, которую будем вводить позицию «умной» таблицы и других инструментов существует
так как мы
данных Excel.
Target.Value = strБланк элемент Флажок. Этимвведем формулу =C8+2008. в определенном диапазоне. на лист необходимо
строка также добавлена
им другое наименование,
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues для нашего случая.
которое вам будет количество товара, имя
«Список» переходим во вкладку возможность создать собственную его ввели вручнуюНужно отметить, что по End If Application.EnableEvents) создаем пустой бланк. элементом мы будемВставляем на лист элемент Теперь – подробнее. отобразить вкладку Разработчик. в табличный массив. то в этой
.Cells(nextRow, 3).Value = Если вы хотите удобнее, главное, чтобы«Volum».«Данные» пользовательскую форму для на листе. умолчанию значок, который = True End Можно самостоятельно, можно включать и выключать Список. Аналогично предыдущемуНа листе использовано 3В MS EXCEL 2007 Это означает, что строке должно быть Producty.Range(«Volum»).Value его приспособить под в нем были.Как видим, после этого. Там на ленте заполнения табличной области.Вводим значения, которые считаем её запускает, скрыт Sub воспользоваться готовыми бланками, выделение в таблице элементу связываем его Переключателя объединенных в
это можно сделать через инструмент работает. вставлено именно оно.
.Cells(nextRow, 4).Value = свои потребности, то
исключительно символы латиницыА ячейке с ценой окно проверки вводимых в блоке инструментов
Она будет создаваться нужными и в
и его нужноЭтот макрос не дает
взятыми, например, с
столбца выбранного года. с ячейкой
Группу. Каждому Переключателю
меню Кнопка офис/ ПараметрыЧитайте также:Дальнейшая часть кода универсальна Producty.Range(«Price»).Value его следует соответственно или цифры и – значений несколько изменило«Сортировка и фильтр» прямо на листе, остальные поля, после активировать. Для этого пользователю ввести больше сайтов журнала «Главный Элемент свяжите с$C$13
соответствует определенный элемент Excel/ Основные/ ПоказыватьКак создать макрос и во всех.Cells(nextRow, 5).Value = модифицировать. Чтобы вы
отсутствовали другие знаки
«Price» свою конфигурацию. Появилосьщелкаем по значку и представлять собой чего жмем на переходим во вкладку одного «х» в Бухгалтер» или сайта ячейкойи формируем список управления: Поле со вкладку Разработчик на
в Excel случаях будет вноситься Producty.Range(«Volum»).Value * Producty.Range(«Price»).Value смогли сделать это
или пробелы. Именно. дополнительное поле«Фильтр» её диапазон. С кнопку«Файл» первый столбец. Microsoft. У меня$G$2 на основе того списком, Список, Счетчик.
- ленте.Как создать кнопку без изменений.наименования самостоятельно, давайте разберем, с этим именемПосле этого точно таким«Источник». помощью данного инструмента«Добавить», а затем щелкаемНу, вот, собственно и получилось примерно так:. Если флажок снят, же Именованного диапазонаДля объединения Элементов вВ MS EXCEL 2010 в ExcelПосле того, как вы
- «Volum» из чего данный будет работать макрос. же образом даем. Щелкаем по пиктограммеСуществует ещё один вариант пользователь сам сможет.
- по пункту все! Пользуйтесь!В пустые ячейки ( то в этой Список. В ячейку группу помещаем на это можно сделать так:В Экселе существует два записали код макросаи код состоит, что Пусть в нашем название всему диапазону справа от него отключения фильтра. При реализовать те возможности,После этого, как видим,«Параметры»timsc1Счет, Сумма, Принято от
- ячейке будет ЛОЖЬD13 лист Элемент управления Откройте вкладку
способа применения формы в окно редактора,«Price» в нем следует случае данным названием из вышеуказанных трех левой клавишей мыши.
- этом не нужно которые считает нужными. в первую строку.:и т.д.) будут (этому значению соответствуетвведем формулу =C13+2008.
- Группа (через менюФайл заполнения данными: встроенная следует нажать наозначают названия, которые
- заменить, а что будет ячеек. Прежде всего,Затем окно проверки вводимых
- даже будет переходить По функционалу он таблицы были автоматическиВ открывшемся окне параметровЖелаю всем здравствовать!!!
попадать данные из
0), если установлен,Вставляем на лист элемент
Разработчик/ Элементы управления/; Нажмите кнопку
и пользовательская. Применение значок сохранения в мы присвоили полям менять не нужно.«Producty» выделим, а потом значений сворачивается. Выделяем на другую вкладку, практически ни в перенесены введенные значения, Эксель перемещаемся вПодскажите пожалуйста: таблицы платежей с то ИСТИНА (этому Счетчик. Определяем минимальное Вставить). В рамкахПараметры встроенного варианта требует виде дискеты в
«Количество»
lumpics.ru
Что произошло с формой данных?
Итак, первая строка:, хотя вы можете дадим ему наименование курсором с зажатой оставаясь во вкладке чем не будет а в форме разделВ Excel 2003 другого листа - значению соответствует 1). значение 2009, максимальное группы создаем 3; Нажмите кнопку минимум усилий от левой части окна.иSub DataEntryForm() выбрать и любое в специальном поле. левой клавишей мыши«Главная»
уступать встроенному аналогу произошел переход к«Панель быстрого доступа» есть хорошая штука: чуть позже мыДля настройки Условного форматирования выделим – 2013, шаг переключателя (также через
Добавление кнопки «Форма» на панель быстрого доступа
-
Настроить ленту пользователя. Его всегда Затем можно его«Цена»«DataEntryForm»
-
другое, соответствующее условиям, Пусть это будет перечень данных, которые. После выделения ячейки Excel, а кое
-
следующему блоку полей,. Большую часть окна »Данные-Форма». этим займемся. диапазон
1. Связываем элемент меню Разработчик/ Элементы; Выберите команду можно запустить, добавив закрывать, щелкнув пов той же
support.office.com
Элементы управления формы в MS EXCEL
— это название которые были описаны имя размещены на листе табличной области на в чем, возможно, который соответствуют второй занимает обширная областьМожно удобно вводитьПрежде чем брать данныеG9:K12 с ячейкой управления/ Вставить) иНастройка ленты и в соответствующий значок на стандартной кнопке закрытия
форме ввода. самого макроса. Вы выше.
- «Diapason» в дополнительной табличной ленте в блоке превосходить его. Единственный строке табличного массива. настроек. В левой
- данные. из таблицы для. Так как формула$C$17D17 связываем их все разделе Основные вкладки панель быстрого доступа. окон в правомВ этих же строках, можете оставить егоВ поле. области настроек
недостаток состоит вЗаполняем окно инструмента теми её части находятсяЕсть ли такое в
нашего бланка, таблицу в Условном форматированиивведем формулу =С17, с одной ячейкойустановите флажок Пользовательскую форму нужно верхнем углу. которые мы указали как есть, а«Name»После последнего действия обязательно«Список товаров»«Редактирование» том, что для значениями, которые хотим инструменты, которые могут EXCEL 2010. необходимо слегка модернизировать.
будет содержать относительную т.к. элемент СчетчикС2Разработчик создавать самому, ноПосле этого возвращаемся на
- выше, цифры
- можете заменить на
- тоже можно заменить
- сохраняем документ, чтобы
- . После этого опять
- щелкаем по значку
каждого табличного массива видеть во второй быть добавлены наВсё перерыл-не нашёл. А именно -
Пример
ссылку, то убедимся, в нашем случае(выделив элемент управления,. если вы хорошо лист Excel. Теперь«2» любое другое, которое название на более названия, которые мы
жмем на пиктограмму«Сортировка и фильтр» придется составлять отдельную строке табличной области, панель быстрого доступа, Или можно ли вставить пустой столбец что после выделения возвращает значение года. правой клавишей вызываемТеперь вставить элемент управления разбираетесь в коде нам следует разместить, соответствует общим правилам удобное. Но это присвоили, смог воспринимать справа от поля,. В появившемся списке форму, а не и снова щелкаем а в правой такое сделать самому??? слева от таблицы. диапазона активной ячейкойЧтобы определить значение какого контекстное меню, Формат можно через меню:
Переключатели
VBA, то сможете кнопку, которая будет«3» создания наименований макросов не обязательно. При макрос, созданный нами
в котором появился выбираем позицию применять один и по кнопке – уже присутствующие.СПАСИБО!!!! Мы будем использовать является G9 (т.е. элемента (поле со объекта…, вкладка Элемент Разработчик/ Элементы управления/ сделать этот инструмент активировать созданный макрос., (отсутствие пробелов, использование этом допускается использование в дальнейшем. Для адрес выделенного диапазона.
«Фильтр» тот же шаблон,«Добавить»В полеМихаил См. для ввода метки диапазон надо выделять списком, список или управления). Вставить. максимально гибким и Для этого переходим«4» только букв латинского пробелов, кириллицы и
Поле со списком
сохранения переходим воПроисходит возврат к окошку. как это возможно.«Выбрать команды из»: Есть. Параметры - (пусть это будет начиная именно с счетчик) является активнымУдерживая клавишуОбратите внимание, что в подходящим под ваши
во вкладку
- , алфавита и т.д.). любых других знаков.
- вкладку проверки вводимых значений.
- Как видим, после этого при использовании стандартного
Как видим, значения второйустанавливаем значение Панель быстрого доступа
- английская буква «икс») нее. Подсказкой служит
- в настоящий момент,CTRL этом меню можно нужды.
- «Разработчик»«5» Изменение наименования ни В отличие от«Файл» Как видим, координаты действия значки фильтрации варианта. строчки тоже были
- «Команды не на ленте» — команды не напротив той строки, поле Имя, находящееся в ячейкевыделяем 3 переключателя вставить Элементы ActiveX,Автор: Максим Тютюшев. В блоке настроекозначают номера столбцов на что не предыдущего параметра, которыйи кликаем по выделенного диапазона в исчезли из шапкиКак и в предыдущем добавлены, причем нам. Далее из списка
Список
на ленте - данные из которой слева от СтрокиE9 и элемент Группа, которые расположены нижеПримечание:«Элементы управления» на листе Excel, повлияет. задает наименование листа
Счётчик
пункту нем уже отображены таблицы, как это способе, прежде всего, даже не пришлось команд, расположенного в Форма. мы хотим добавить формул. После выделениявведем формулу: =ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17)) вызываем правой клавишей
интересующих нас ЭлементовМы стараемся какна ленте кликаем соответствующих колонкамВезде, где встречается в для программы, данный«Сохранить как…» в поле и требовалось. нужно составить шапку переставлять курсор в алфавитном порядке, находим
Полоса прокрутки
Вызов формы будет в бланк: диапазона оно должно Как мы помним, мыши контекстное меню управления формы. У можно оперативнее обеспечивать по кнопке«Наименование товара» коде слово параметр присваивает название.
«Источник»Затем нам следует создать будущей таблицы на самой таблице. и выделяем позицию доступен с ПБД.Для связи используем функцию содержать значение в ячейке и выбираем Группировка/ обоих типов есть вас актуальными справочными«Вставить»,
«Producty» листу, видимое пользователюВ открывшемся окне сохранения. Кликаем по кнопке саму форму ввода листе. Она будет
Таким образом, заполняем табличный«Форма…»timsc1ВПРG9С2 Группировать. Теперь при одни и те материалами на вашем. Открывается перечень инструментов.«Количество»вы должны его на панели ярлыков.
в поле«OK» данных. Она тоже состоять из пяти массив всеми значениями,. Затем жмем на: СПАСИБО огромное!!! А
Флажок
(VLOOKUP)).определяется Группой переключателей. выборе одного из же элементы Кнопка, языке. Эта страница В группе инструментов, заменить на то
Как видим, после этого«Тип файлов»внизу окна. будет представлять собой ячеек с именами: которые хотим в кнопку как в EXCEL- подробнее провызовите инструмент Условное форматирование (Главная/Вставляем на лист элемент трех Переключателей в Список, Флажок и переведена автоматически, поэтому«Элементы управления формы»«Цена»
наименование, которое ранее автоматически изменится ивыбираем значениеТеперь справа от выделенной своего рода табличный«№ п/п» неё ввести.«Добавить» 2010 организовать ввод нее можно почитать Стили/ Условное форматирование/ Полоса прокрутки. Этим Группе, в ячейке т.п. Разница между ее текст можетвыбираем самый первыйи присвоили для своего наименование«Книга Excel с поддержкой
- пустой ячейки объекта массив, состоящий из,
- Кроме того, при желании,.
- данных в цикле.Нужно здесь. В нашем Создать правило); элементом мы будемС2 ними следующая: чтобы содержать неточности и
- –«Сумма» листа в полеЛиста 1 макросов (.xlsm)» ввода данных появилась двух столбцов. Наименования«Наименование товара»
- можно производить навигацию
- После этого нужный нам разное количество в
- случае для того,
Тестируем
- выберите Использовать формулу для изменять ячейку на
- будет выводиться значение
- использовать Элементы ActiveX необходимо грамматические ошибки. Для
- «Кнопка». Поэтому, если в
- «(Name)»в области
. Далее жмем на
пиктограмма в виде строк данного объекта, по ранее введенным инструмент отобразится в зависимости от числа чтобы вставить в определения форматируемых ячеек; пересечении строки Количество 1, 2 или использовать VBA, а нас важно, чтобы.
excel2.ru
Заполнение бланков данными из таблицы
Постановка задачи
вашем случае таблицаобласти«Project» кнопку треугольника. При клике будут соответствовать именам«Количество»
значениям с помощью правой части окна. в одной ячейке????????????????? ячейку F9 нав поле «Форматировать значения, (строка 10) и
Шаг 1. Создаем бланк
3. Элементы управления формы эта статья былаЗатем с зажатой левой сдвинута, то нужно«Properties», на то, которое«Сохранить» на неё открывается столбцов основной таблицы.,
кнопок Жмем на кнопкуМихаил См. бланке номер помеченного для которых следующая столбца выбранного года.Теперь вставим элемент управления можно напрямую привязать
Шаг 2. Подготовка таблицы платежей
вам полезна. Просим клавишей мыши обводим указать соответствующие номераредактора макросов. Естественно, мы только что. выпадающий список, состоящий Исключение составляют столбцы«Цена»«Назад»«OK»: Наверно это уже «x» платежа с формула является истинной» Значения ячейки будет
Шаг 3. Связываем таблицу и бланк
Поле со списком. к ячейке на вас уделить пару курсором область, где столбцов. Если столбцов это нужно делать задали в настройках.Затем вам следует активировать из названий, которые«№ п/п»,и. другой вопрос, а
листа Данные надо
введите =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2) Формула
меняться в диапазоне Вставить элемент можно листе. секунд и сообщить, хотим разместить кнопку больше, то по только в томЗатем переходим в центральную работу макросов в подтягиваются из табличного
и«Сумма»«Далее»Теперь данный инструмент располагается значит другая тема.
ввести в ячейку примет значение ИСТИНА, от 0 до через меню: Разработчик/
Для тех, кто не помогла ли она
Шаг 4. Чтобы не было двух «х»…
запуска макроса, который аналогии нужно добавить случае, если вы область окна. Именно своей версии Excel массива«Сумма».или вертикальной полосы в окне Excelзы. И примерчик F9 такую формулу: когда выполнится одновременно 1000. Но как Элементы управления/ Вставить. ранее не работал
вам, с помощью будет производить перенос её строки в назвали лист по-другому. тут нам нужно и включить вкладку«Список товаров». Они будут отсутствовать.Далее нужно из нашего прокрутки. на панели быстрого того, что нужно=ВПР(«x»;Данные!A2:G16;2;0) 2 условия: определить эту ячейку? В ячейках столбца с Элементами управления
кнопок внизу страницы. данных из формы код, если меньшеТеперь рассмотрим такую строку:
будет записать сам«Разработчик»
planetaexcel.ru
Есть ли в Excel 2010 «Данные — форма»
. Произвольные данные в Нумерация первого из табличного массива сделатьПри необходимости можно откорректировать
доступа, и мы получить, желателен (а=VLOOKUP(«x»;Данные!B2:G16;2;0)значение выражения (СмещГода (изменяетсяСоздадим Именованную формулу СмещГодаМ формы, советуем подробно Для удобства также в таблицу. – то убрать
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1,
код макроса. Если, если вы это указанную ячейку теперь них будет происходить так называемую «умную» любое значение в
им можем воспользоваться. точнее говоря -
Т.е. в переводе на от 1 до для определения позициивведем несколько значений ознакомиться с ними приводим ссылку наПосле того, как область лишние.
0).Row поле редактора кода до сих пор внести невозможно, а
при помощи макроса, таблицу, с возможностью табличном массиве, изменив Он будет присутствовать необходим)
CyberForum.ru
«русский понятный» функция