Как редактировать форму в excel

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

Общие сведения о форме данных

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

Пример типичной формы данных

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

Примечание: Форму данных нельзя распечатать. Кроме того, поскольку эта форма является модальным диалоговым окном, то, пока она открыта, в Excel невозможно воспользоваться командой Печать и кнопкой Печать. При необходимости можно сделать снимок формы (с помощью клавиши Windows Print Screen) и скопировать его в Microsoft Paint или другую программу.

Добавление кнопки «Форма» на ленту

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

    Важно: Убедитесь, что в диапазоне данных нет пустых строк.

  2. Щелкните ячейку в диапазоне или таблице, куда нужно добавить форму.

  3. Чтобы добавить кнопку формы Кнопка «Форма» панели быстрого доступа, сделайте следующее:

    1. Щелкните стрелку рядом с панелью быстрого доступа и выберите пункт Другие команды.

    2. В поле «Выбор команд» щелкните «Все команды«, а затем нажмите кнопку «Форма Кнопка «Форма» в списке.

    3. Нажмите кнопку Добавить, а затем — кнопку ОК.

  4. На панели быстрого доступа нажмите кнопку «Форма » Кнопка «Форма».

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

Использование формы данных

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

Добавление строки данных

  1. В форме данных нажмите кнопку Добавить.

  2. В открывшейся форме данных введите данные для новой строки в показанных полях.

    Чтобы перейти к следующему полю в строке, нажмите клавишу TAB. Чтобы перейти к предыдущему полю, нажмите клавиши SHIFT+TAB.

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

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

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

Поиск строки с помощью навигации

Выполните одно или несколько действий, указанных ниже.

  • Чтобы последовательно перейти от одной строки к другой, щелкните нужную стрелку на полосе прокрутки в форме данных.

  • Чтобы перейти сразу через десять строк, щелкните полосу прокрутки между стрелками.

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

  • Чтобы перейти к предыдущей строке в диапазоне или таблице, нажмите кнопку Назад.

Поиск строки по определенным условиям

  1. Нажмите кнопку Критерии и введите в форму данных условие сравнения.

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

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

    Подстановочный знак

    Чтобы найти

    ? (вопросительный знак)

    Любой символ (один)
    Пример: условию «стро?а» соответствуют результаты «строфа» и «строка»

    * (звездочка)

    Любое количество символов
    Пример: условию «*-восток» соответствуют результаты «северо-восток» и «юго-восток»

    ~ (тильда), за которой следует ?, * или ~

    Вопросительный знак, звездочку или тильду
    Пример: условию «ан91~?» соответствует результат «ан91?»

  2. Чтобы найти соответствующие условиям строки, нажмите кнопку Далее или Назад.

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

Изменение данных в строке

  1. Найдите строку, которую нужно изменить.

  2. Измените данные в строке.

    Чтобы перейти к следующему полю в строке, нажмите клавишу TAB. Чтобы перейти к предыдущему полю, нажмите клавиши SHIFT+TAB.

  3. Изменив данные, нажмите кнопку ВВОД. Строка будет обновлена.

    Переход к следующей строке производится автоматически.

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

Удаление строки

  1. Найдите в форме данных строку, которую нужно удалить.

  2. Нажмите кнопку Удалить.

    Предупреждение: Откроется диалоговое окно для подтверждения операции. После подтверждения отменить удаление строки невозможно.

Закрытие формы данных

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Общие сведения о формах, элементах управления формы и элементах ActiveX на листе

Содержание

  • Применение инструментов заполнения
    • Способ 1: встроенный объект для ввода данных Excel
    • Способ 2: создание пользовательской формы
  • Вопросы и ответы

Форма в Microsoft Excel

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

Применение инструментов заполнения

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

Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.

Способ 1: встроенный объект для ввода данных Excel

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

  1. Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
  2. Переход в параметры в Microsoft Excel

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

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

  4. Добавление инструмента форма на панель быстрого доступа в Microsoft Excel

  5. После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку «OK».
  6. Инструмент форма добавлен на панель быстрого доступа в Microsoft Excel

  7. Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
  8. Инструмент форма отображается на панеле быстрого доступа в Microsoft Excel

  9. Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия «Наименование товара», «Количество», «Цена» и «Сумма». Вводим данные названия в произвольный горизонтальный диапазон листа.
  10. Шапка таблицы в Microsoft Excel

  11. Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
  12. первое значение в таблице в Microsoft Excel

  13. После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку «Форма…», который мы ранее активировали.
  14. Запуск формы в Microsoft Excel

  15. Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
  16. Форма открыта в Microsoft Excel

  17. Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку «Добавить».
  18. Ввод значений в форму в Microsoft Excel

  19. После этого, как видим, в первую строку таблицы были автоматически перенесены введенные значения, а в форме произошел переход к следующему блоку полей, который соответствуют второй строке табличного массива.
  20. Значения перенесы в таблицу в Microsoft Excel

    Lumpics.ru

  21. Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке «Добавить».
  22. Добавление второй строки в таблицу через форму в Microsoft Excel

  23. Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
  24. Вторая строка заполнена в таблице в Microsoft Excel

  25. Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
  26. Все значения в таблицу введены в Microsoft Excel

  27. Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок «Назад» и «Далее» или вертикальной полосы прокрутки.
  28. Навигация по форме в Microsoft Excel

  29. При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку «Добавить».
  30. Корректировка данных в форме в Microsoft Excel

  31. Как видим, изменение сразу произошло и в табличной области.
  32. Изменение произведено в таблице в Microsoft Excel

  33. Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке «Удалить» в окошке инструмента.
  34. Удаление строки через форму в Microsoft Excel

  35. Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку «OK».
  36. Подтверждение удаления строки в Microsoft Excel

  37. Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку «Закрыть».
  38. Закрытие формы в Microsoft Excel

  39. После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.

Таблица отформатированв в Microsoft Excel

Способ 2: создание пользовательской формы

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

  1. Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
  2. Шапка таблицы создана в Microsoft Excel

  3. Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
  4. Создание умной таблицы в Microsoft Excel

  5. Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
  6. Окошко форматирования таблицы в Microsoft Excel

  7. Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
    Отключение фильтра через вкладку Данные в Microsoft Excel

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

  8. Отключение фильтра через вкладку Главная в Microsoft Excel

  9. Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
  10. Фильтр снят в Microsoft Excel

  11. Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы «№ п/п» и «Сумма». Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.

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

  12. Форма ввода данных на листе в Microsoft Excel

  13. После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня («Список товаров») можно залить цветом.
  14. Таблица со списком товаров в Microsoft Excel

  15. Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку «Данные». Щелкаем по значку «Проверка данных», который размещен на ленте в блоке инструментов «Работа с данными».
  16. Переход к проверке данных в Microsoft Excel

  17. Запускается окно проверки вводимых данных. Кликаем по полю «Тип данных», в котором по умолчанию установлен параметр «Любое значение».
  18. Окно проверки вводимых значений в Microsoft Excel

  19. Из раскрывшихся вариантов выбираем позицию «Список».
  20. Выбор списка в окне проверки вводимых значений в Microsoft Excel

  21. Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле «Источник». Щелкаем по пиктограмме справа от него левой клавишей мыши.
  22. Переход к выбору источника в окне проверки вводимых значений в Microsoft Excel

  23. Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области «Список товаров». После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
  24. Адрес диапазона внесен в поле в Microsoft Excel

  25. Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле «Источник». Кликаем по кнопке «OK» внизу окна.
  26. Закрытие окна проверки вводимых значений в Microsoft Excel

  27. Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива «Список товаров». Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
  28. Список со значениями в Microsoft Excel

  29. Как видим, выбранная позиция тут же отобразилась в поле «Наименование товара».
  30. Выбранная позиция отобразилась в ячейке в Microsoft Excel

  31. Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование «Картофель». Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем «Name». Пишем данное наименование в поле и жмем на клавишу Enter на клавиатуре.
  32. Наименование первой ячейки в Microsoft Excel

  33. Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя «Volum».
  34. Наименование второй ячейки в Microsoft Excel

  35. А ячейке с ценой – «Price».
  36. Наименование третьей ячейки в Microsoft Excel

  37. После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя «Diapason».
  38. присвоение наименования диапазону в Microsoft Excel

  39. После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
  40. Сохранение книги в Microsoft Excel

  41. В открывшемся окне сохранения в поле «Тип файлов» выбираем значение «Книга Excel с поддержкой макросов (.xlsm)». Далее жмем на кнопку «Сохранить».
  42. Окно сохранения файла в Microsoft Excel

  43. Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку «Разработчик», если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
  44. После того, как вы сделали это, переходим во вкладку «Разработчик». Кликаем по большому значку «Visual Basic», который расположен на ленте в блоке инструментов «Код».
  45. Переход в редактор макросов в Microsoft Excel

  46. Последнее действие приводит к тому, что запускается редактор макросов VBA. В области «Project», которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это «Лист 1».
  47. Редактор макросов в Microsoft Excel

  48. После этого переходим к левой нижней области окна под названием «Properties». Тут расположены настройки выделенного листа. В поле «(Name)» следует заменить кириллическое наименование («Лист1») на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет «Producty», хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.

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

    Как видим, после этого автоматически изменится и наименование Листа 1 в области «Project», на то, которое мы только что задали в настройках.

  49. Изменение наименования листа в редакторе макросов в Microsoft Excel

  50. Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу F7 и оно появится.
  51. Поле в редкторе макросов отобразилось в Microsoft Excel

  52. Теперь для конкретно нашего примера нужно записать в поле следующий код:


    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» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.

    Наименование для листа в Microsoft Excel

    Теперь рассмотрим такую строку:

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.

    Второй столбец таблицы в Microsoft Excel

    Далее рассмотрим строку

    If .Range("A2").Value = "" And .Range("B2").Value = "" Then

    «A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.

    Две первые ячейки таблицы с данными в Microsoft Excel

    Переходим к строке

    Producty.Range("Name").Copy

    В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.

    Имя поля наименования товара в форме ввода в Microsoft Excel

    В строках


    .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» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.

    Наименование полей количество и цена в Microsoft Excel

    В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.

    Колонки в таблице в Microsoft Excel

    В строке производится умножение количества товара на его цену:

    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.

    Колонка для вывода суммы в Microsoft Excel

    В этом выражении выполняется автоматическая нумерация строк:


    If nextRow > 2 Then
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Select
    End If

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

    Столбец с нумерацией в Microsoft Excel

    В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:

    .Range("Diapason").ClearContents

    Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.

    Наименование полей для ввода данных в Microsoft Excel

    Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.

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

  53. Код в редакторе макросов в Microsoft Excel

  54. После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку «Разработчик». В блоке настроек «Элементы управления» на ленте кликаем по кнопке «Вставить». Открывается перечень инструментов. В группе инструментов «Элементы управления формы» выбираем самый первый – «Кнопка».
  55. Выбор элемента управления в Microsoft Excel

  56. Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
  57. Указание границ кнопки в Microsoft Excel

  58. После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется «DataEntryForm». Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку «OK» внизу окна.
  59. Окно назначения макроса объекту в Microsoft Excel

  60. После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.
    Переименовывание кнопки в Microsoft Excel

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

  61. Кнопка переименована в Microsoft Excel

  62. Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку «Добавить».
  63. Ввод данных в форму в Microsoft Excel

  64. Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
  65. Значения первой строки внесены в таблицу в Microsoft Excel

  66. Повторно заполняем форму и жмем на кнопку «Добавить».
  67. Повторный ввод данных в форму в Microsoft Excel

  68. Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.

Вторая строка добавлена в таблицу в Microsoft Excel

Читайте также:
Как создать макрос в Excel
Как создать кнопку в Excel

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

Создание форм для заполнения и печати в Excel

​Смотрите также​ excel objects «Эта​: сверху в строке​.​Во всех версиях​ данные заносить по​Ирина​Перевел: Антон Андронов​ будете видеть только​(Restore), чтобы отменить​(Find Prev) и​ также отображать только​

Шаг 1. Отображение вкладки «Разработчик».

​и выберите команду​наведите указатель на​

  1. ​ удерживая нажатой клавишу​​Параметры ленты​​выберите элемент​​Вы можете создать форму​​ книга» или выбрать​

  2. ​ пишешь…​​Надстройка:​​ EXCEL (2003, 2007,​​ столбцам таблицы.​​: Здравствуйте. Спасибо. Я​

  3. ​Автор: Антон Андронов​​ данные, удовлетворяющие этим​​ любые изменения.​​Далее​​ ту информацию, которая​

  1. ​Снять защиту листа​ пункт​Всплывающее меню ​ CONTROL, и выберите​​.​​Параметры​

  2. ​ в Excel, добавив​​ конкретный лист и​​например: А1+или -или/…​​1. не имеет​​ 2010 — про​

Шаг 2. Добавление и форматирование элементов управления содержимым

  1. ​vikttur​​ знаю это действие.​​Ирина​ критериям. В нашем​

  2. ​Нажмите кнопку​(Find Next), чтобы​ удовлетворяет определенным критериям.​

  3. ​.​Защита​ пункт​В разделе​.​​ в книгу элементы​​ щелкнуть на нем​

  4. ​ короче левые название​​ ограничения на количество​​ 2013 не знаю)​: Тогда, если нет​ Но если данных​: Здравствуйте, подскажите пожалуйста:​

  5. ​ примере – это​Критерии​ легко переключаться от​

Шаг 3. Защита листа, содержащего форму

  1. ​ Форма бывает особенно​​При необходимости вы можете​​и выберите команду​Формат элемента управления​​Настройки​​В разделе​​ управления содержимым, такие​​ правой кнопкой мышки​

  2. ​ строк на верхнее​

  3. ​ полей БД,​

    ​ штатный режим «Форма»​​ навыков работы с​ много и таблица​ можно ли в​​ запись 13.​​(Criteria), чтобы отобразить​ одной записи (строки)​​ полезна, когда строки​​ проверить форму, прежде​​Защитить лист​​.​

Шаг 4. Проверка формы (необязательно)

​установите флажок​Разработка​ как кнопки, флажки,​

  1. ​ вабратьinsert-user form».​ название столбцов…​2. позволяет одним​

  2. ​ достаточно «кривой» и​ формами в VBA​ огромная, то тогда​ excel 2010 создать​

support.office.com

Форма данных в Excel

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

  1. ​ ограничен 32 полями​
  2. ​ — только заказывать​​ как быть? А​​ форму для ввода​Для редактирования критериев​Форма данных в Excel
  3. ​ которые удовлетворяют определенным​​Примечание:​​ широкие и нужно​​Защитите форму, как указано​​Выберите нужные параметры защиты.​Формат объекта​.​Представление​Форма данных в Excel

​ со списками. После​​ программирования. Еще можно​​: Файл-Сохранить как и​​ размеры формы,​​ БД.​​ работу в платном​ работники мои плохо​ данных в форматированную​ нажмите кнопку​ критериям.​​Используйте кнопки​​ избежать постоянной прокрутки​ в описании шага​

  1. ​Сохраните и закройте книгу.​​задайте такие свойства​​На вкладке​.​ этого другие пользователи​ щелкнуть правой кнопкой​
  2. ​ выбирай формат форм.​3. содержит необходимый​​Установите​​ разделе. Вряд ли​Форма данных в Excel
  3. ​ соображают по части​​ таблицу. Заранее спасибо​​Критерии​​Введите критерии и кликните​​Добавить​ листа вправо и​ 3.​Совет:​ элемента управления, как​Разработчик​Форма данных в Excel

​В разделе​​ смогут заполнить эту​ по ярлычку листа​​Евгений​​ минимум инструментов для​БЕСПЛАТНУЮ надстройку​ найдется желающий писать​​ офиса 2010, они​​ за ответ.​

​(Criteria) еще раз.​ по кнопке​
​(New) или​
​ влево.​

​Откройте форму еще раз,​

office-guru.ru

создание в Excel 2010 формы для ввода данных в форматированную таблицу

​ Чтобы продолжить редактирование после​​ шрифт, выравнивание и​выберите элемент управления,​Показывать на ленте​ форму в приложении​ в книге excel​: ALT+F11 откроется редактор​ работы по ведению​

​, ссылку на которую​​ большую форму задаром​ могут работать лишь​Z​ Чтобы закрыть форму,​Правка​Удалить​;)

​Откройте файл Excel.​​ заполните ее обычным​ защиты формы, в​ цвет.​ который хотите добавить.​установите флажок​ Excel и при​ и выбрать «добавить-окно​ бейсика. В левой​ БД.​ на форуме для​ и вряд ли​ с готовыми ячейками​: Да. Выделить данные​ кликните по​(Form).​(Delete), чтобы добавлять​Выберите команду​ способом и сохраните​

​ меню​​Повторите действия 1–4 для​На листе щелкните место,​Вкладка «Разработчик»​ желании распечатать ее.​ диалога excel 5.0».​ части экрана по​Tinki vinki​ всех любезно предложил​ Вы сами ее​ и формулами. Хотелось​ и нажать знак​

​Закрыть​​Теперь, нажимая​
​ или удалять записи.​
​Форма​ как копию.​Сервис​ каждого добавляемого элемента​ куда нужно вставить​.​Более новые версии​ В этом окне​
​ умолчанию располагаются окна​​: Вид -> Панели​​один из самых уважаемых​ напишете.​ облечить им работу​​ «Форма». Если его​(Close).​​Назад​​ Начав редактировать данные,​​(Form) на Панели​
​Форма данных позволяет добавлять,​
​наведите указатель на​ управления.​ элемент управления.​
​В правой части ленты​ Office 2011 ​ удобно связывать диапазоны​
​ 1)с компонентами проекта​ инструментов -> Элементы​ экспертов форума​Мотя​

planetaexcel.ru

Как создать формы в Excel.?

​ не разносить все​​ еще нет, то​Урок подготовлен для Вас​(Find Prev) и​

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

​В меню​​ данных с эл-тами​ 2)со свойствами эл-тов.​

​ управления​​-​: Уважаемая Ирина!​ в ручную, а​ вынести на ПБД​ командой сайта office-guru.ru​Далее​ кнопкой​Используйте кнопки​ записи (строки), а​Защита​Сервис​ управления, щелкните его,​и выберите пункт​
​Excel​ управления БЕЗ ПРОГРАММИРОВАНИЯ​ Найти в microsoft​Сергей марченко​ZVI​Не изобретайте велосипед!​ с помощью формы​ (панель быстрого доступа)…​Источник: http://www.excel-easy.com/examples/data-form.html​(Find Next), вы​Вернуть​

​Назад​

Динамическое и кардинальное изменение свойств пользовательской формы как элемента коллекции UserForms и как элемента коллекции VBComponents из кода VBA Excel.

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

Динамическое изменение свойств формы

Динамическое изменение (редактирование) свойств пользовательской формы как элемента коллекции UserForms в процессе выполнения кода VBA Excel (процедуры UserForm_Initialize):

Private Sub UserForm_Initialize()

    With Me

        ‘Меняем заголовок формы

        .Caption = «Новый заголовок»

        ‘Изменяем цвет фона

        .BackColor = vbGreen

        ‘Задаем новую ширину

        .Width = 300

    End With

End Sub

Разместите код в модуле формы и запустите его. Форма откроется с динамически (в процессе выполнения инициализации) измененными свойствами.

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

Кардинальное изменение свойств формы

Кардинальное изменение (редактирование) свойств пользовательской формы как элемента коллекции VBComponents с помощью кода VBA Excel:

Sub EditFormVBComponents()

    With ThisWorkbook.VBProject.VBComponents.Item(«UserForm1»)

        ‘Активируем форму и меняем ее свойства

        .Activate

        ‘Меняем заголовок формы

        .Properties(«Caption») = «Новый постоянный заголовок»

        ‘Изменяем цвет фона

        .Properties(«BackColor») = vbYellow

        ‘Задаем новую ширину

        .Properties(«Width») = 500

    End With

End Sub

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

Точно так же можно изменить (отредактировать) первоначальные настройки импортированной формы:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

Private Sub ImportEdit()

‘On Error Resume Next

    With ThisWorkbook.VBProject.VBComponents

        ‘Импортируем форму в текущую книгу из файла UserForm1.frm

        .Import «C:ТестоваяUserForm1.frm»

        ‘Информация из файла .frx импортируется автоматически

            With .Item(«UserForm1»)

                ‘Активируем форму и меняем ее свойства

                .Activate

                ‘Меняем заголовок формы

                .Properties(«Caption») = «Новый заголовок (Caption)»

                ‘Изменяем цвет фона

                .Properties(«BackColor») = vbBlue

                ‘Задаем новую ширину

                .Properties(«Width») = 400

            End With

    End With

    ‘Если нужно просмотреть форму, добавляем ее в коллекцию UserForms

    With UserForms.Add(«UserForm1»)

        ‘Отображаем форму для просмотра

        .Show

    End With

End Sub

Строка On Error Resume Next необходима для проведения экспериментов по изменению свойств пользовательской формы, так как, если форма уже импортирована, повторная попытка импорта вызовет ошибку.


 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

Доброго всем дня, форумчане! Пожалуйта помогите новичку сделать для своей работы программку. Возможно, ваша помощь нужна не только мне — за два дня в интернете ответов на свои вопросы не нашёл! Суть проблемы: Есть таблица, заполняемая данными через форму (с этим сложностей нет, поэтому в прилагаемом файле такая форма заполнения отсутствует). Как эти данные через другую форму редактировать? Как я понимаю, NextRow должна быть вычислена как строка, в которой находится активная в данный момент ячейки. Соответственно, в TextBox1 — TextBox_ формы должны быть текстовые значения ячеек этой строки с возможностью их изменения и сохранения через OKButton формы. Как это прописать в коде формы? Заранее всем СПАСИБО!

Изменено: kunar8024.03.2013 23:15:26

 

Sergei_A

Пользователь

Сообщений: 443
Регистрация: 05.01.2013

#2

24.03.2013 21:22:26

Вы пишите

Цитата
Суть проблемы:

и дальше ни слова о сути проблемы.
Говорите о том, что есть форма, которая отлично работает. Дальше Ваше понимание того, как должна быть вычислена NextRow. Но в чем Ваша проблема — ни слова. Вы удивитесь, но в Вашем примере все работает! Корявенько, но именно так, как прописано в коде.

То, что написано в коде примера, полностью противоречит Вашим словам

Цитата
kunar80 пишет:
в TextBox1 — TextBox_ формы должны быть текстовые значения ячеек этой строки

просто посмотрите пример, может это оно.

Прикрепленные файлы

  • Редактор через форму1.xls (59 КБ)

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#3

24.03.2013 22:10:43

Цитата
просто посмотрите пример, может это оно

Спасибо, это почти оно! Вот только записываются изменения новой строкой (так в моём примере прописано было потому, что не знаю, как сделать иначе), а записываться они должны по месту назначения. На то это и редактирование.

 

Sergei_A

Пользователь

Сообщений: 443
Регистрация: 05.01.2013

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

Sergei_A,
Спасибо огромное! Теперь это действительно ОНО! А я-то два дня бился в поисках решения. Я ведь совсем не программист. А для работы нужно — вести учёт документов. Что в итоге получится — выложу здесь. Может, кому сгодится.

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

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

 

Sergei_A

Пользователь

Сообщений: 443
Регистрация: 05.01.2013

Вам именно форма нужна? Почему не msgbox?
попробуйте

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

Спасибо! Буду пытаться внедрить в то, что уже сделано

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

Благодаря помощи Sergei_A состряпал программку для своей работы. Это мой первый опыт программирования в VBA, так что не судите строго — я не программист, а начальник архива учреждения. Не всё ещё работает, поэтому нуждаюсь в помощи. Основные проблемы: запуск календаря и ComboBox.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

В чём и где проблема с календарём?
С каким КомбоБоксом проблема и что за проблема?
kunar80, нужна помощь? — не заставляйте помогающих гадать.

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#11

29.03.2013 19:35:17

Цитата
Юрий М пишет:
kunar80, нужна помощь? — не заставляйте помогающих гадать

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

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#12

29.03.2013 19:50:35

В модуль формы:

Код
Private Sub TextBox9_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Form_SelectDate.Show
End Sub

Кнопка начала не нужна. Аналогично для TextBox окончания.
Про ComboBox вообще не понял.
И привыкайте давать контролам адекватные имена: разибрая код, разве можно понять назначение TextBox9? А вот присвой Вы ему имя, например, Txt_DateStar — сразу понятно, о чём разговор.

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#13

29.03.2013 20:03:34

Цитата
Юрий М пишет:
Про ComboBox вообще не понял.

   With AddForm.ComboBox1
   .RowSource = «»
   .AddItem «Опись 1-ОС»
   .AddItem «Опись 2-ОС»
   .AddItem «Опись 1»
   End With

   With AddForm.ComboBox2
   .RowSource = «»
   .AddItem «1 год»
   .AddItem «2 года»
   .AddItem «3 года»
   .AddItem «5 лет»
   .AddItem «10 лет»
   .AddItem «15 лет»
   .AddItem «75 лет»
   .AddItem «75 лет — В»
   .AddItem «ПИН»
   .AddItem «Постоянно»
   End With

Вот так я их прописал в AddForm. Но это не работает!

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Не нахожу на форме с комментариями КомбоБоксов.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#15

29.03.2013 20:21:06

Нашёл в редакторе… Зачем Вы их скрыли?! Опять облегчаете жизнь?
Переместите заполнение КомбоБокса в процедуру активации:

Код
Private Sub UserForm_Activate()
    With AddForm.ComboBox1
'        .RowSource = ""
        .AddItem "Опись 1-ОС"
        .AddItem "Опись 2-ОС"
        .AddItem "Опись-1"
    End With
End Sub

Со вторым ComboBox поступите аналогично.

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#16

29.03.2013 20:33:15

Цитата
Юрий М пишет:
Private Sub TextBox9_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Form_SelectDate.Show
End Sub

Спасибо, вставил. Календарь открывается, но не работает. Выбор года — 1898 или 1900. Других нет. Ругается в Form_SelectedDate здесь:
Private Sub Cmd_Select_Click()
   ‘Команда — закончить выбор даты и закрыть форму
   SelectedDate = CStr(DateValue(dt_1))
   Unload Me
End Sub

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Как я понимаю, это календарь Игоря. Вы где его брали? Отсутствуют две переменные: dt_1 и dt_2. Посмотрите в файле-оригинале в стандартном модуле, мне кажется, они были объявлены.

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#18

29.03.2013 20:47:44

Цитата
Юрий М пишет:
Со вторым ComboBox поступите аналогично.

Спасибо. Сделал. Значения выбираются.
А как быть с записью в таблицу? Как прописать и ТекстБоксы и КомбоБоксы?
Сейчас прописано так:
For I = 2 To 19
   Cells(NextRow + 1, I) = Me.Controls(«TextBox» & I).Text

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Не разбирался — что куда и откуда должно попасть. Поступите проще: Ячейка(х, у) = ТекстБоксN

 

kunar80

Пользователь

Сообщений: 13
Регистрация: 24.03.2013

#20

29.03.2013 21:30:34

Цитата
Юрий М пишет:
Как я понимаю, это календарь Игоря. Вы где его брали?

Брал конечно же в интернете. Файл прилагаю. Имя исходника не помню.

Прикрепленные файлы

  • Добавить-Удалить.xlsm (68.74 КБ)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#21

29.03.2013 21:36:37

Обратите внимание — в модуле формы в области деклараций есть две строки:
Public SelectedDate As String, DefaultDate As String
Public dt_1 As Date, dt_2 As Date
Попробуйте сделать аналогично.
P.S. И не стоит на форум выкладывать рабочий файл — лучше сделать НЕБОЛЬШОЙ файл-пример с аналогичной проблемой. Легче будет разобраться и больше пользы при переносе кода из примера в рабочий файл.

Элементы управления формы в MS EXCEL

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

Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.

Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить.

Обратите внимание, что в этом меню можно вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Для тех, кто не ранее не работал с Элементами управления формы, советуем подробно ознакомиться с ними в следующих статьях:

В этой статье рассмотрим более сложный пример совместного использования элементов управления и Условного форматирования.

Разберем конкретный пример применения сразу нескольких Элементов управления. В файле примера с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон F9:K12).

С помощью одного из 3-х элементов управления Поле со списком, Список и Счетчик, пользователь может выбрать столбец таблицы (год). Нужный элемент управления выбирается с помощью группы Переключателей. Название выбранного элемента подсвечивается серым цветом (см. A8:B8 на рис. выше). Выбранный год выделяется в таблице Условным форматированием темно серым цветом (см. H9:H12 на рис. выше). Отображение этого выделения регулируется Флажком (фон флажка — красный). Полосами прокрутки можно редактировать Цену и Количество в выбранном году, но только в определенном диапазоне. Теперь – подробнее.

Переключатели

На листе использовано 3 Переключателя объединенных в Группу. Каждому Переключателю соответствует определенный элемент управления: Поле со списком, Список, Счетчик.

Для объединения Элементов в группу помещаем на лист Элемент управления Группа (через меню Разработчик/ Элементы управления/ Вставить). В рамках группы создаем 3 переключателя (также через меню Разработчик/ Элементы управления/ Вставить) и связываем их все с одной ячейкой С2 (выделив элемент управления, правой клавишей вызываем контекстное меню, Формат объекта…, вкладка Элемент управления).

Удерживая клавишу CTRL выделяем 3 переключателя и элемент Группа, вызываем правой клавишей мыши контекстное меню и выбираем Группировка/ Группировать. Теперь при выборе одного из трех Переключателей в Группе, в ячейке С2 будет выводиться значение 1, 2 или 3.

Поле со списком

Теперь вставим элемент управления Поле со списком. Вставить элемент можно через меню: Разработчик/ Элементы управления/ Вставить. В ячейках столбца М введем несколько значений лет: 2009, 2010, 2011, 2012, 2013. Эти значения будут использованы в элементе Поле со списком.

  • выделяем диапазон М9:М12;
  • нажимаем Формулы/ Определенные имена/ Присвоить имя;
  • в поле Имя вводим Список.

Теперь свяжем элемент управления с данными на листе. Для этого:

  • выделите элемент управления Поле со списком;
  • правой клавишей вызовите его контекстное меню, затем Формат объекта…, вкладка Элемент управления;
  • в поле Формировать список по диапазону вводим Список (вместо ссылки на ячейку мы ввели ссылку на определенное Имя!). Конечно, вместо имени можно было указать просто ссылку на диапазон;
  • свяжем элемент с ячейкой $C$8. В этой ячейке будет выводится порядковый номер выбранного элемента списка, т.е. если выберем 2009, то выведется 1, т.к. это первый элемент в списке. Для дальнейших целей нам проще использовать именно год, а не его порядковый номер. Для этого в ячейку D8 введем формулу =C8+2008 .

Список

Вставляем на лист элемент Список. Аналогично предыдущему элементу связываем его с ячейкой $C$13 и формируем список на основе того же Именованного диапазона Список. В ячейку D13 введем формулу =C13+2008 .

Счётчик

Вставляем на лист элемент Счетчик. Определяем минимальное значение 2009, максимальное – 2013, шаг 1. Связываем элемент с ячейкой $C$17. В D17 введем формулу =С17 , т.к. элемент Счетчик в нашем случае возвращает значение года.

Чтобы определить значение какого элемента (поле со списком, список или счетчик) является активным в настоящий момент, в ячейке E9 введем формулу: =ЕСЛИ(C2=1;D8;ЕСЛИ(C2=2;D13;D17)) Как мы помним, значение в ячейке С2 определяется Группой переключателей.

Полоса прокрутки

Вставляем на лист элемент Полоса прокрутки. Этим элементом мы будем изменять ячейку на пересечении строки Количество (строка 10) и столбца выбранного года. Значения ячейки будет меняться в диапазоне от 0 до 1000. Но как определить эту ячейку?

Создадим Именованную формулу СмещГода для определения позиции выбранного года в диапазоне лет G9:K9. Нажимаем Формулы/ Определенные имена/ Присвоить имя, в поле Имя вводим СмещГода, в поле диапазон вводим формулу =ПОИСКПОЗ($E$9; $G$9:$K$9;0) Если выбран 2009, то формула вернет 1.

Для определения ячейки строки Количество, соответствующую выбранному году используем формулу =СМЕЩ($F$10;0;СмещГода) . Формула вернет диапазон, состоящий из одной ячейки.

В поле Связь с ячейкой элемента Полоса прокрутки нельзя ввести формулу, но можно, как мы уже видели, ввести Имя. Создадим Именованную формулу Количество, в поле Диапазон укажем формулу =СМЕЩ($F$10;0;СмещГода) . Теперь в поле Связь с ячейкой элемента полоса прокрутки введите Количество.

Аналогичные манипуляции проделайте с полосой прокрутки для Цены. Для этого необходимо создать Именованную формулу Цена, где в поле Диапазон указать формулу =СМЕЩ($F$11;0;СмещГода) .

Флажок

При выборе пользователем текущего года, в таблице с данными (G9:K12) соответствующий столбец будет закрашиваться серым фоном. Для выделения столбца выбранного года используем Условное форматирование.

Сначала вставим на лист элемент Флажок. Этим элементом мы будем включать и выключать выделение в таблице столбца выбранного года. Элемент свяжите с ячейкой $G$2. Если флажок снят, то в этой ячейке будет ЛОЖЬ (этому значению соответствует 0), если установлен, то ИСТИНА (этому значению соответствует 1).

Для настройки Условного форматирования выделим диапазон G9:K12. Так как формула в Условном форматировании будет содержать относительную ссылку, то убедимся, что после выделения диапазона активной ячейкой является G9 (т.е. диапазон надо выделять начиная именно с нее. Подсказкой служит поле Имя, находящееся слева от Строки формул. После выделения диапазона оно должно содержать G9).

  • вызовите инструмент Условное форматирование (Главная/ Стили/ Условное форматирование/ Создать правило);
  • выберите Использовать формулу для определения форматируемых ячеек;
  • в поле «Форматировать значения, для которых следующая формула является истинной» введите =И(СТОЛБЕЦ(G9)=СмещГода+6;$G$2) Формула примет значение ИСТИНА, когда выполнится одновременно 2 условия:
  • значение выражения (СмещГода (изменяется от 1 до 5 (т.е. от 2009 до 2013 года) + 6) совпадет с номером текущего столбца (7, т.е. 2009 год);
  • Флажок Условное форматирование установлен.
  • выберите требуемый формат, например, серый цвет заливки;
  • нажмите ОК.

Тестируем

  • убедимся, что флажок Условное форматирование установлен;
  • выберем переключатель Список;
  • в элементе управления Список выберем 2010;
  • убедимся, что столбец 2010 выделен серым;
  • Полосой прокрутки изменим количество в столбце 2010.

Результат показан на рисунке.

К сожалению, у элементов управления формы Флажок, Поле со списком и Список нет возможности отформатировать отображаемый шрифт. Зато это можно сделать у элементов ActiveX (Разработчик/ Элементы управления/ Вставить). Правда, для работы с этими элементами требуется писать программу на VBA.

Использование элементов управления форм на листе Excel

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

В Microsoft Excel есть несколько элементов управления для листов диалога, которые можно использовать для выбора элементов из списка. Примеры элементов управления: списки, поля со списком, счетчики и полосы прокрутки.

Дополнительные сведения об элементах управления форм в Excel можно найти в статье Общие сведения о формах, элементах управления форм и элементах ActiveX на листе.

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

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

Включение вкладки «Разработчик»

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

Откройте вкладку Файл и выберите команду Параметры.

В левой области выберите пункт настроить ленту .

Установите флажок разработчик в разделе Основные вкладки справа, а затем нажмите кнопку ОК.

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

Нажмите кнопку Microsoft Office, а затем — Параметры Excel.

Нажмите популярные, установите флажок Показыватьвкладку «Разработчик» на ленте и нажмите кнопку ОК.

Настройка списка, ссылки на ячейку и предметного указателя

На новом листе введите следующие элементы в диапазоне от H1: H20:

H1: роликовый Скатес

H6: Вашинг Machine

H7: Роккет Launcher

H11: — это очень привлекательные

H18: набор инструментов

H20: жесткий диск

В ячейке a1 введите следующую формулу:

= ИНДЕКС (H1: H20; G1; 0)

Пример окна списка

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


Чтобы добавить список в Excel 2003 и более ранних версиях Excel, нажмите кнопку «список» на панели инструментов «формы». Если панель инструментов формы не отображается, в меню Вид выберите пункт панели инструментов, а затем — пункт формы.

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

В группе элементы управления нажмите кнопку свойства.

В окне Формат объекта введите следующие данные, а затем нажмите кнопку ОК.

Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

Примечание: Формула INDEX () использует значение в ячейке G1, чтобы вернуть правильный элемент списка.

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

Примечание: Параметры Multi и Extend полезны только в том случае, если вы используете процедуру Microsoft Visual Basic для приложений, чтобы возвращать значения списка. Также обратите внимание на то, что флажок объемной заливки позволяет добавить трехмерный вид в список.

Список элементов должен отображаться в списке. Чтобы использовать список, щелкните любую ячейку, чтобы не выделять список. Если щелкнуть элемент в списке, ячейка G1 будет обновлена числом, указывающим позицию выбранного в списке элемента. Формула INDEX в ячейке a1 использует этот номер для отображения имени элемента.

Пример поля со списком

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


Чтобы добавить поле со списком в Excel 2003 и более ранних версиях Excel, нажмите кнопку раскрывающегося списка на панели инструментов формы.

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

Щелкните поле со списком правой кнопкой мыши и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

Чтобы задать диапазон списка, введите H1: H20 в поле диапазон ввода .

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

Примечание: Формула INDEX использует значение в ячейке G1, чтобы вернуть правильный элемент списка.

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

Примечание: Флажок объемной заливки необязателен. Он добавляет трехмерный вид в раскрывающийся список или поле со списком.

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

Пример кнопки «Счетчик»

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


Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку «Счетчик» на панели инструментов «формы».

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

Щелкните правой кнопкой мыши кнопку счетчик и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

В поле Текущее значение введите 1.

Это значение инициализирует счетчик, чтобы формула указателя указывала на первый элемент в списке.

В поле минимальное значение введите 1.

Это значение ограничивает верхнюю часть счетчика на первый элемент в списке.

В поле Максимальное значение введите 20.

Этот номер задает максимальное количество элементов в списке.

В поле Шаг изменения введите 1.

Это значение определяет степень приращения текущего значения с помощью элемента управления «Счетчик».

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле «связь с ячейкой».

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

Значение «Счетчик» не изменится, если текущее значение равно 1, а затем щелкнуть элемент управления вниз или, если текущее значение равно 20, а затем щелкнуть элемент управления вверх.

Пример полосы прокрутки

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


Чтобы добавить полосу прокрутки в Excel 2003 и более ранних версиях Excel, нажмите кнопку «вертикальная полоса прокрутки» на панели инструментов «формы».

Щелкните на листе место, где должен находиться левый верхний угол полосы прокрутки, а затем перетащите полосу прокрутки в то место, где должен находиться правый нижний угол полосы прокрутки. В этом примере создается полоса прокрутки, которая охватывает ячейки B2: B6 в высоту и является примерно одной четвертой ширины столбца.

Щелкните полосу прокрутки правой кнопкой мыши и выберите пункт Формат элемента управления.

Введите указанные ниже данные и нажмите кнопку ОК.

В поле Текущее значение введите 1.

Это значение инициализирует полосу прокрутки таким образом, чтобы формула указателя указывала на первый элемент в списке.

В поле минимальное значение введите 1.

Это значение ограничивает верхнюю часть полосы прокрутки до первого элемента в списке.

В поле Максимальное значение введите 20. Этот номер задает максимальное количество элементов в списке.

В поле Шаг изменения введите 1.

Это значение определяет, сколько чисел элемент управления «полоса прокрутки» увеличит текущее значение.

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

Чтобы ввести числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле » связь с ячейкой».

Примечание: Флажок объемной заливки необязателен. Она добавляет трехмерный вид к полосе прокрутки.

Щелкните любую ячейку так, чтобы полоса прокрутки не выделена. Если щелкнуть элемент управления вверх или вниз на полосе прокрутки, ячейка G1 будет обновлена до числа, указывающего текущее значение полосы прокрутки плюс или минус добавочное изменение полосы прокрутки. Этот номер используется в формуле указателя в ячейке a1 для отображения элемента рядом с текущим элементом или перед ним. Вы также можете перетаскивать ползунок прокрутки, чтобы изменить значение или щелкнуть полосу прокрутки на обеих сторонах ползунка, чтобы увеличить его на 5 (значение изменения страницы). Полоса прокрутки не изменится, если текущее значение равно 1, и вы щелкните элемент управления вниз или, если текущее значение равно 20, а затем щелкните элемент управления вверх.

Элементы управления в ms excel

Лабораторная работа №10

АВТОМАТИЗАЦИЯ РАБОТЫ С КНИГОЙ В MS EXCEL

Цель работы: работа с макросами в MS Excel: создание, удаление, выполнение изменение, копирование макросов; использование элементов управления для автоматизации работы с книгой.

Если требуется периодическое выполнение задачи в Microsoft Excel, можно автоматизировать задачу с помощью макроса. Макрос – это последовательность команд и функций, хранящаяся в модуле Visual Basic. С точки зрения программирования – это подпрограмма. Ее можно выполнять всякий раз, когда необходимо выполнить данную задачу.

Модуль – совокупность описаний, инструкций и процедур, сохраненная под общим именем. Существуют модули двух типов: стандартный модуль и модуль класса.

1.1.1 Создание макроса. Макросы можно создавать с помощью средства для записи макросов или введя его код на языке Visual Basic для приложений в редакторе Visual Basic. Можно использовать и оба метода сразу: записать часть шагов, а затем расширить макрос с помощью программного кода.

Для записи макроса необходимо:

1) Установите Средний или Низкий уровень безопасности:

— выберите команду меню Сервис ? Параметры;

— откройте вкладку Безопасность;

— в группе Безопасность макросов нажмите кнопку Безопасность макросов;

— откройте вкладку Уровень безопасности, а затем выберите нужный уровень безопасности.

2) Выберите команду меню Сервис ? Макрос ? Начать запись (рис. 1.1).

3) В поле Имя макроса введите имя макроса (см. рис. 1.1):

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

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

4) Если этот макрос потребуется запускать нажатием сочетания клавиш на клавиатуре, введите букву в поле Сочетание клавиш (см. рис. 1.1). Допускается использование сочетаний Ctrl+буква (для строчных букв) или Ctrl+Shift+буква (для прописных букв), где буква – любая буквенная клавиша на клавиатуре. Нельзя использовать сочетания клавиш с цифрами и специальными знаками, такими как @ или #.

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

Рисунок 1.1 – Диалог Запись макроса

5) В поле Сохранить в выберите книгу, в которой требуется сохранить макрос. Если этот макрос требуется всегда при работе в Microsoft Excel, выберите вариант Личная книга макросов (см. рис. 1.1).

6) Если необходимо добавить описание макроса, введите его в поле Описание (см. рис. 1.1).

7) Нажмите кнопку OK.

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

9) Выполните макрокоманды, которые нужно записать.

10) На панели инструментов Остановить запись нажмите кнопку Остановить запись.

Чтобы запрограммировать макрос с помощью Visual Basic, необходимо:

1) Выберите команду меню Сервис ? Макрос ? Редактор Visual Basic (рис. 1.2).

2) В меню Insert выберите команду Module.

3) Введите или скопируйте программу в окно программы модуля.

4) Чтобы запустить данный макрос из окна модуля, нажмите кнопку F5.

5)Когда макрос будет создан, выберите команду меню File ? Close and Return to Microsoft Excel.

1.1.2 Удаление макроса.Для удаления макроса:

1) Откройте книгу, содержащую макрос, который требуется удалить.

2) В выберите команду меню Сервис ? Макрос ? Макросы.

3) В списке Находится в выберите Эта книга.

4) В списке Имя макроса выберите имя макроса, который нужно удалить.

5) Нажмите кнопку Удалить.

Рисунок 1.2 – Окно редактора Visual Basic

1.1.3 Выполнение макроса. Для выполнения макроса:

1) Установите Средний или Низкий уровень безопасности.

2) Откройте книгу, содержащую нужный макрос.

3) В меню Сервис выберите пункт Макрос, а затем выполните команду Макросы.

4) В поле Имя макроса введите имя того макроса, который требуется выполнить.

5) Выполните одно из следующих действий.

— Запустите макрос в книге Microsoft Excel: нажмите кнопку Выполнить; чтобы прервать выполнение, нажмите кнопку ESC.

— Выполните макрос из модуля Microsoft Visual Basic: нажмите кнопку Изменить; нажмите кнопку Run Sub/UserForm.

Совет: чтобы выполнить другой макрос, находясь в редакторе Visual Basic, выберите команду Macros в меню Tools. В поле Macro name введите имя того макроса, который нужно выполнить, а затем нажмите кнопку Run.

1.1.4 Изменение макроса. Для изменения макроса необходимо знакомство с редактором Visual Basic, который используется для написания и изменения макросов Microsoft Excel.

1) Установите Средний или Низкий уровень безопасности.

2) Выполните команду меню Сервис ? Макрос ? Макросы.

3) Введите имя макроса в поле Имя макроса.

4) Нажмите кнопку Изменить.

1.1.5 Копирование модуля макроса в другую книгу.Для этого:

1) Установите Средний уровень безопасности.

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

3) Выберите команду меню Сервис ? Макрос ? Редактор Visual Basic.

4) Выберите команду меню Вид ? Окно проекта.

5) Перетащите требуемый модуль в конечную книгу.

Элементы управления в MS Excel

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

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

В Microsoft Excel существует два вида элементов управления. Элементы управления ActiveX подходят в большинстве случаев, и работают с макросами Visual Basic для приложений (VBA) и веб-сценариями.

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

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

Чтобы задать свойства для имеющегося элемента управления, щелкните его правой кнопкой мыши, выберите команду Формат объекта, а затем откройте вкладку Элемент управления. Кнопки и надписи не имеют свойств.

В табл. 1.1 и табл. 1.2 приведены виды элементов управления ActiveX и панели инструментов Формы.

Применение элементов управления Формы в Excel

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

В Excel имеются два типа элементов управления:

— элементы Active X панели инструментов Элементы управления). Макросы для управления их работой создаются в редакторе VBA;

— элементы управления панели Формы. Макросы для этих элементов создаются с помощью средства записи макросов и не требуют обязательного знания VBA.

Перечень элементов управления панели инструментов Форма представлен в таблице «Элементы управления Excel».

Свойства большинства элементов можно изменять. Действия, производимые с помощью объекта управления, задаются в диалоговом окне Формат элемента управления на вкладке Элемент управления (это окно вызывается командой Формат объекта из контекстного меню). У элементов управления Кнопка и Надпись можно изменять только свойства, касающиеся формата.

С помощью элементов форм в Excel можно не просто заносить данные в анкеты и бланки, но и производить анализ введенных данных.

Каждый элемент формы (кроме элементов Кнопка и Надпись) связан с ячейкой. Значение связанной ячейки изменяется в зависимости от состояния элемента или действия с элементом. Для работы элементов Список, Поле со списком, Полоса прокрутки и Счетчик задаются диапазоны ячеек.

Содержание работы

Задания выполняйте на отдельных листах созданной Вами книги.

Дата добавления: 2015-09-07 ; просмотров: 748 . Нарушение авторских прав

В чем разница между «элементами управления формой» и «элементом управления ActiveX» в Excel 2010?

используя Microsoft Excel 2010, я заметил два вида элементов управления, которые могут быть вставлены в документ:Управления и Элементы Управления ActiveX.

в чем разница между ними?

Google полон информации об этом. Как сказал Ганс Пассан, управления встроены в Excel, тогда как ActiveX элементы управления загружаются отдельно.

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

многие компьютеры пользователя по по умолчанию не доверяю ActiveX , и он будет отключен; иногда это необходимо вручную добавить в центр управления безопасностью. ActiveX это технология на базе microsoft и, насколько мне известно, не поддерживается на Mac. Это то, что вам также придется рассмотреть, если вы (или кто-то, кому Вы предоставляете книгу) решите использовать его на Mac.

одним из основных отличий, которые важно знать, является то, что элементы управления ActiveX отображаются как объекты, которые можно использовать в коде — попробуйте вставить элемент управления ActiveX в рабочий лист, откройте редактор VBA (ALT + F11), и вы сможете получить доступ к элементу управления программно. Вы не можете сделать это с помощью элементов управления form (макросы должны быть явно назначены каждому элементу управления), но элементы управления form немного проще в использовании. Если вы просто делаете что-то простое, не имеет значения, что вы используете но для более продвинутых скриптов ActiveX имеет более широкие возможности.

ActiveX также более настраиваемый.

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

также стоит отметить, что элементы управления ActiveX работают только в Windows, тогда как элементы управления Form будут работать как в Windows, так и в macOS-версиях Excel.

UserForm in Excel that can be resized by the user — they can click and drag the edges or corners of the form to change its size, just like with a regular window in the operating system.

b295d738c82c2f837f25246841295fe7.jpg

Sections:

Make Form Resizable

Resize Event

Notes

Make Form Resizable

To do this, we need to place VBA code within a regular module and also within the Activate event for the UserForm.

Module Code

The below code goes into a regular module in the VBA window. (Alt + F11 to get to the VBA window and then Insert > Module.)

Private Declare Function GetForegroundWindow Lib "User32.dll" () As Long

Private Declare Function GetWindowLong _
  Lib "User32.dll" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, _
     ByVal nIndex As Long) _
  As Long

Private Declare Function SetWindowLong _
  Lib "User32.dll" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, _
     ByVal nIndex As Long, _
     ByVal dwNewLong As Long) _
  As Long

Private Const WS_THICKFRAME As Long = &H40000
Private Const GWL_STYLE As Long = -16

Note: this code must go at the very top of the module before any other code!

The next section of code can be placed anywhere within the module.

Public Sub FormResizable()

Dim lStyle As Long
Dim hWnd As Long
Dim RetVal

hWnd = GetForegroundWindow

lStyle = GetWindowLong(hWnd, GWL_STYLE) Or WS_THICKFRAME
RetVal = SetWindowLong(hWnd, GWL_STYLE, lStyle)

End Sub

UserForm Code

Code must also be placed within the UserForm itself in order to work.

All you need to do is call FormResizable from the Activate event for the UserForm.

FormResizable

When you put the code into the Activate event for the UserForm, it will look like this:

Private Sub UserForm_Activate()

FormResizable

End Sub

If you already have code in the Activate event, just place FormResizable at the top of this section.

To learn more about events and how to use them, view our tutoral on UserForm Events.

Resize Event

Resizing a form without chaning anything within the form window is usually useless, as such, you can put code inside of the UserForm_Resize event that will adjust the properties of the controls in the form when the user resizes it, such as increasing the size of buttons or labels within the form when a user makes the form larger.

Notes

When a form is resized by the user, using the above code, once the form has been closed and opened again, it will default back to the original size.

Make sure to download the sample file to see this example in Excel.

Similar Content on TeachExcel

UserForm Events

Tutorial: Explanation of UserForm Events in Excel. This includes what they are, how to use them, and…

UserForm Controls

Tutorial: This tutorial gives you an overview of what a UserForm Control is and how to add them to y…

Scrollable UserForm

Tutorial: How to make a scrollable UserForm. This allows you to put scroll bars onto a form so that …

How to Resize Rows and Columns in Excel Quickly

Tutorial: Resizing rows and columns in Excel is an easy process. Simply left click in between the co…

Prevent Images and Shapes from Resizing or Moving in Excel

Tutorial:
How to stop Images and Shapes from resizing in Excel when you change the size of rows and…

Quickly Resize Multiple Columns or Rows at Once in Excel

Tutorial:
How to quickly resize multiple columns and rows at once in Excel.  This avoids having to…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

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

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

Создание пользовательской формы

Чтобы создать пользовательскую форму, выполните следующие действия:

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.
  • Нажмите Visual Basic. Откроется окно Visual Basic для книги.
  • Нажмите Вставить,
  • Выберите UserForm из выпадающего списка.

Создание пользовательской формы

Пользовательская форма появляется в правой части окна.

Появляется пользовательская форма

Понимание пользовательской формы

Разверните окно UserForm.xlsx – UserForm1.

Вы находитесь в режиме дизайна сейчас. Вы можете вставить элементы управления в пользовательскую форму и написать код для соответствующих действий. Элементы управления доступны в панели инструментов. Свойства UserForm находятся в окне свойств. UserForm1 (подпись UserForm) указывается в разделе «Формы» в проводнике проектов.

Понимание UserForm

  • Измените заголовок UserForm на Project Report – Daily в окне свойств.
  • Измените имя пользовательской формы на ProjectReport.

Отчет о проекте

Изменения отражаются в пользовательской форме, свойствах и проводнике проекта.

Элементы управления в панели инструментов

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

Excel предоставляет два типа элементов управления – элементы управления формы и элементы управления ActiveX. Вы должны понимать разницу между этими двумя типами элементов управления.

Элементы управления формой

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

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

Элементы управления ActiveX

Элементы управления ActiveX могут использоваться в пользовательских формах VBA. Элементы управления ActiveX имеют широкие свойства, которые можно использовать для настройки их внешнего вида, поведения, шрифтов и других характеристик.

У вас есть следующие элементы управления ActiveX в UserForm ToolBox –

  • Указатель
  • этикетка
  • Текстовое окно
  • Поле со списком
  • ListBox
  • CheckBox
  • OptionButton
  • Рамка
  • Кнопка-переключатель
  • CommandButton
  • TabStrip
  • MultiPage
  • Полоса прокрутки
  • в полях ввода
  • Образ

В дополнение к этим элементам управления Visual Basic предоставляет функцию MsgBox, которую можно использовать для отображения сообщений и / или запроса пользователя о действии.

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

этикетка

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

пример

этикетка

Текстовое окно

Вы можете использовать TextBox в виде прямоугольника для ввода, просмотра или редактирования текста. Вы также можете использовать TextBox в качестве статического текстового поля, которое представляет информацию только для чтения.

пример

Текстовое окно

Список

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

  • Вставьте ListBox в пользовательскую форму.
  • Нажмите на список.
  • Введите ProjectCodes для Name в окне свойств ListBox.

Есть три типа списков –

  • Поле со списком с одним выбором – Поле со списком с одним выбором включает только один выбор. В этом случае поле списка напоминает группу кнопок выбора, за исключением того, что поле списка может более эффективно обрабатывать большое количество элементов.

  • Список выбора множественного выбора – Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.

  • Поле со списком расширенного выбора – Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.

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

Список выбора множественного выбора – Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.

Поле со списком расширенного выбора – Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.

Вы можете выбрать один из этих типов списков в окне свойств.

ListBox

  • Щелкните правой кнопкой мыши на пользовательской форме.
  • Выберите View Code из выпадающего списка. Откроется окно кода UserForm.
  • Нажмите Инициализировать в правом верхнем углу окна кода.
  • Введите следующее в Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

инициализировать

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Выберите Run

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

Поле со списком

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

  • Вставьте ComboBox в пользовательскую форму.
  • Нажмите ComboBox.
  • Введите ProjectCodes2 для имени в окне свойств ComboBox.

Поле со списком

  • Щелкните правой кнопкой мыши на пользовательской форме.
  • Выберите View Code из выпадающего списка.
  • Откроется окно кода UserForm.

Введите следующее, как показано ниже.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

Окно кода

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Запустить вкладку

Нажмите стрелку вниз, чтобы отобразить список элементов.

Нажмите стрелку вниз

Нажмите на нужный элемент, скажем, Project2016-5. Выбранная опция будет отображаться в поле со списком.

Обязательный пункт

CheckBox

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

Флажок может иметь два состояния:

  • Выбрано (включено), помечено галочкой в ​​поле
  • Очищено (выключено), обозначено прозрачной рамкой

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

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

  • Установите флажки в пользовательской форме, как показано ниже.

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

Установите флажки в пользовательской форме, как показано ниже.

CheckBox

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Нажмите на поля для выбранных вами вариантов.

Ящики

OptionButton

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

Кнопка выбора представлена ​​маленьким кружком. Кнопка выбора может иметь одно из следующих двух состояний:

  • Выбран (включен), обозначен точкой в ​​круге
  • Сброс (выключен), обозначается пробелом

Рамка

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

Элемент управления фреймом представлен прямоугольным объектом с необязательной меткой.

  • Вставьте рамку с надписью «Выбор».

  • Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.

Вставьте рамку с надписью «Выбор».

Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.

Рамка

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Нажмите на выбранный вами вариант.

Выбранный вариант

Кнопка-переключатель

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

Вставьте кнопку переключения на пользовательскую форму, как показано ниже –

TogglebButton

  • Перейдите на вкладку «Выполнить» на ленте.

  • Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.

Перейдите на вкладку «Выполнить» на ленте.

Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.

По умолчанию

Нажмите кнопку переключения. Кнопка переключения будет отключена.

Кнопка-переключатель

Если вы снова нажмете кнопку переключения, она будет включена.

CommandButton

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

Командная кнопка также называется кнопкой. Вставьте командную кнопку в пользовательскую форму, как показано ниже –

CommandButton

  • Щелкните правой кнопкой мыши на кнопке.
  • Введите следующий код в sub Commandbutton1_click ().
ProjectCodes2.DropDown 

CommandButton1

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Ежедневный отчет

Нажмите кнопку команды. Откроется выпадающий список со списком, так как это действие, которое вы написали в коде.

Поле со списком

TabStrip

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

Полоса прокрутки

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

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

Полоса прокрутки

  • Щелкните правой кнопкой мыши по полосе прокрутки.
  • Выберите View Code из выпадающего списка. Откроется окно кода.
  • Добавьте следующую строку под sub ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values" 

Значение прокрутки

  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.

Отчет ScrollBar

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

Текстовое окно

MsgBox ()

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

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

Функция MsgBox

Отображается значок окна сообщения

Вы можете использовать значки сообщений в окне, которые изображают конкретное сообщение. У вас есть несколько значков сообщений в соответствии с вашими целями –

  • Введите следующий код в ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result" 
  • Перейдите на вкладку «Выполнить» на ленте.
  • Выберите Run Sub / UserForm из выпадающего списка.
  • Перетащите поле прокрутки.

Вы получите следующие сообщения последовательно.

Окна сообщений

Разработка UserForm

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

Обратитесь к учебнику VBA в этой библиотеке учебников для примера UserForm.

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

А вот еще интересные статьи:

  • Как редактировать файл word только для чтения
  • Как решать задачи в excel егэ
  • Как редактировать файл word с телефона
  • Как решать егэ по информатике excel
  • Как редактировать файл word на телефоне

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии