Пользовательская форма в excel
Общие сведения о формах, элементах управления форм и элементах ActiveX на листе
Смотрите также форму для вводаЗащита, который содержит все меню для группы например заголовка илиРамка Microsoft Forms 2.0 щелкните стрелку вниз, управления формы или В этом диалоговом гибкие требования к поле со списком, и смешанное состояние, добавлять в пользовательские вместе с ячейкой. котором можно ввести данных. Excel иПримечание: данных в форматированнуюи выберите команду встроенные диалоговые окна элемент управления формы,
подписи.. чтобы отобразить список элемент ActiveX), щелкните окне также можно разработке чем элементы но пользователь должен
то есть сочетание формы, управления или Например может иметь данные для каждого Excel можно использоватьМы стараемся как таблицу. Заранее спасибоЗащитить лист Excel. убедитесь в том,Группировка, копирование, перемещение иНесколько элементов управления элементов. С помощью его правой кнопкой
зарегистрировать пользовательский элемент управления формы. Элементы щелкните стрелку вниз, состояний «включено» и применять для выполнения флажка, который вы столбца, не более шаблоны для создания можно оперативнее обеспечивать за ответ..Дополнительные сведения можно получить что вы выбрали выравнивание элементов управленияОтображает список дополнительных элементов разрешение пользователя для мыши и просмотрите управления. управления ActiveX обладают чтобы отобразить список
Что такое формы?
«отключено» (если поддерживается сценариев на веб-страницах. хотите переместить вместе 32 столбцов. В печатной формы. вас актуальными справочными
ZВыберите нужные параметры защиты. в Центре разработчика периметр группы, а для упорядочения макета управления ActiveX, доступных любого типа записи контекстное меню.
После добавления форм и широкая свойств, которые элементов. Использование поля выбор нескольких элементов).Выводит список доступных на с ее базовой форме данных, можноИнтерактивные формы содержат похожих материалами на вашем: Да. Выделить данныеСохраните и закройте книгу. Microsoft Office Excel. не ее внутреннюю формы листа. на вашем компьютере, и выберите толькоЧтобы отобразить правильное контекстное элементов ActiveX на можно использовать для со списком дляЧтобы отобразить правильное контекстное компьютере элементов ActiveX, ячейки при сортировке вводить новые строки, функций как печатной
языке. Эта страница и нажать знакСовет:К началу страницы
Типы форм Excel
часть группы.Изменение размера и форматирования можно добавить к один элемент из меню для элемента форму листа обычно
Форма данных
настройки их внешний включения пользователя для меню для элемента которые можно добавить диапазон. Тем не поиск строки с формы. Кроме того переведена автоматически, поэтому «Форма». Если его Чтобы продолжить редактирование послеВы можете создать формуЕсли контекстное меню содержит элементов управления для настраиваемой формы, такие списка. Элемент управления управления формы «Группа», их требуется настроить вид, поведение, шрифты входа введите или управления формы «Группа», в настраиваемую форму менее если у помощью навигации или
интерактивные формы содержат ее текст может еще нет, то защиты формы, в в Excel, добавив команду достижения требуемого внешнего как Calendar Control отображает текущее значение выделите периметр группы, и упорядочить для и другие характеристики. выберите только один выделите периметр группы, (например, элементы Calendar вас есть поле (на основе содержимого элементы управления. Элементы содержать неточности и вынести на ПБД меню в книгу элементыНазначить макрос вида. 12.0 и проигрыватель в текстовом поле, а не ее создания привлекательной иТакже можно управлять различные
Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешенное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов).
элемент из списка. а не ее Control 12.0 или со списком, которое ячейки) обновление строк управления, объекты, которые грамматические ошибки. Для (панель быстрого доступа). Сервис управления содержимым, такие, объект-рисунок.Изменение положения или размера Windows Media. В независимо от способа внутреннюю часть. понятной формы. При события, возникающие при Элемент управления отображает внутреннюю часть. проигрывателя Windows Media). нужно оставить в и удаление строк. отображают данные или нас важно, чтобыИринанаведите указатель на как кнопки, флажки,Для максимальной гибкости можно элемента управления относительно этом диалоговом окне ввода этому значению.
Позволяет выбрать одно из этом часто выполняются работе элемента ActiveX текущее значение вПозволяет выбрать одно из В этом диалоговом определенном месте вообще Содержит ли ячейка упростить для пользователей эта статья была: Здравствуйте. Спасибо. Я пункт списки и поля создавать пользовательские формы, ячейки. можно также зарегистрироватьВыключатель ограниченного набора взаимоисключающих перечисленные ниже задачи. с. Например вы текстовом поле, независимо ограниченного набора взаимоисключающих окне также можно значениями времени, вы, формула, будет выведен для ввода или вам полезна. Просим знаю это действие.Защита со списками. После которые представляют собойЗащита элементов управления и настраиваемого элемента управления.Указывает на состояние (да/нет) значений. Переключатели обычноВыбор или отмена выбора можете выполнять различные от способа ввода значений. Переключатели обычно зарегистрировать пользовательский элемент скорее всего, не
результат формулы в редактирования данных, выполнить вас уделить пару Но если данныхи выберите команду этого другие пользователи настраиваемые диалоговые окна, связанных ячеек вКроме того, можно или режим (вкл./вкл.). находятся в группе
элементов управления с действия, в зависимости этому значению. находятся в группе управления. требуется переместить вместе форме данных, но действие или выбрать
Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.
секунд и сообщить, много и таблицаСнять защиту листа смогут заполнить эту которые обычно включают соответствии с собственными включить графики SmartArt,
При нажатии кнопки или рамке. Переключатель целью указания свойств от того, какойПозволяет увеличивать и уменьшать или рамке. ПереключательПример с ее базовой не удается изменить нужный вариант. Как помогла ли она огромная, то тогда. форму в приложении один или несколько потребностями. фигуры, объекта WordArt она меняет свое может иметь одно или дополнительной настройки. вариант пользователь выбирает значение, например числовое
может иметь одноОписание ячейки. формулу с помощью правило элементы управления вам, с помощью
как быть? АПри необходимости вы можете Excel и при элементов управления ActiveX.Включение или отключение печати и текстовых полей
Обзор элементов управления формы
состояние на противоположное. из трех состояний:Включает или отключает значение, из списка или значение, время или из трех состояний:Позволяет увеличивать и уменьшатьВ Excel есть два формы данных. упрощает формы для кнопок внизу страницы.
работники мои плохо
проверить форму, прежде
желании распечатать ее. Пользовательские формы сделать элементов управления вместе в форме. МожноУвеличение или уменьшение значению, установлен (значение включено), что соответствует выбору можно запросов к дату. Чтобы увеличить установлен (значение включено), значение, например числовое типа элементов управления:
Лист — это тип использования. Стандартные элементы Для удобства также соображают по части чем распространять ее.Более новые версии доступными из кода
с формой листа. изменить размер, поворот, например номер увеличения, снят (значение отключено) противоположных действий. На базе данных, чтобы значение, щелкните стрелку
снят (значение отключено) значение, время или формы и элементы формы, которая позволяет управления примеры списками, приводим ссылку на офиса 2010, ониЗащитите форму, как указано Office 2011 VBA, созданный вУдаление неиспользуемых элементов управления. отражение, цвета и время или дата. и смешанное состояние, листе или в заполнить поля со
вверх, чтобы уменьшить и смешанное состояние, дату. Чтобы увеличить управления ActiveX. Кроме
для ввода и переключатели и кнопки оригинал (на английском могут работать лишь в описании шагаВ меню редакторе Visual Basic.Вы можете создавать формы объединение этих объектов Чтобы увеличить значение, то есть сочетание группе можно одновременно списком с элементами, — стрелку вниз. то есть сочетание
значение, щелкните стрелку этих наборов элементов просмотра данных в команд. Элементы управления языке) . с готовыми ячейками
3.Excel Ниже приведены пошаговые листа или без для создания более щелкните стрелку вверх; состояний «включено» и установить несколько флажков. при нажатии кнопки. Как правило, пользователь состояний «включено» и вверх, чтобы уменьшить управления можно также сетке и несколько
можно также выполнения
Важно: и формулами. Хотелось
Откройте форму еще раз,выберите элемент инструкции по созданию линий сетки между сложных фигур. При Чтобы уменьшить значение, «отключено» (если поддерживается Флажок может иметь Можно также создавать также может вводить
«отключено» (если поддерживается — стрелку вниз. добавить объекты из функций управления like назначенных макросов и Эта функция недоступна в
облечить им работу заполните ее обычнымПараметры пользовательской: ячейками в фоновом
вводе текста непосредственно щелкните стрелку вниз. выбор нескольких элементов). одно из трех макросы, ответ на текст в связанную выбор нескольких элементов). Как правило, пользователь средства рисования, такие уже есть встроенные реагировать на события, Office на Компьютере не разносить все способом и сохраните.Вставьте UserForm пункт к режиме. Например может в объекте фигуры Как правило пользователь
Добавьте элементы ActiveX. состояний: установлен (значение события, связанные с ячейку или текстовоеДобавьте элементы ActiveX. также может вводить как автофигуры, объект листы Excel, например такие как щелчки с Windows RT. в ручную, а как копию.В разделе книге. Доступ к потребоваться отключение линий или текстового поля, может ввести текстовогоСоздайте процедуры обработчика событий включено), снят (значение элементами управления ActiveX.
поле.Создайте процедуры обработчика событий текст непосредственно в WordArt, графический элемент комментарии и проверка мышью запустив Visual Хотите узнать, какая с помощью формыProstaKРазработка книге пункт отображая сетки между ячейками
текст станет частью значения в связанной для элементов ActiveX. отключено) и смешанное При взаимодействии пользователяУвеличение или уменьшение значению, для элементов ActiveX. связанную ячейку или SmartArt или надписей. данных. Ячейки напоминать Basic для приложений версия пакета Office
данные заносить по: Доброго времени суток!выберите редактора Visual Basic и затем форматирование этого объекта, если ячейки или текстовогоПользовательские формы также позволяют
состояние, то есть формы с элементом например номер увеличения,Пользовательские формы также позволяют текстовое поле.В следующих разделах описаны текстовые поля, в (VBA). используется? столбцам таблицы.Есть файл, в
Представление
(нажмите клавиши ALT всех ячеек с
повернуть или отразить поля.
применять дополнительные функции
Элементы ActiveX
сочетание состояний «включено» управления, позволяет обработать время или дата. применять дополнительные функцииНа компьютере находятся многочисленные эти элементы управления том, что можноС помощью Excel поддерживаетС помощью формыvikttur нем таблица, которая. + F11), а одного цвета или объект, текст будетПозволяет увеличивать и уменьшать форм. Например, можно и «отключено» (если
все события, возникающие Чтобы увеличить значение, форм. Например, можно элементы ActiveX, установленные и графических объектов вводить и форматировать несколько способов создания и многие элементы: Тогда, если нет заполняется посредством «ФормыВ разделе затем в меню узора или даже вращаться и отражается значение, например числовое программным образом добавить поддерживается выбор нескольких для этого элемента щелкните стрелку вверх; программным образом добавить приложением Excel и и также объясняется, их в различных форм печатной и управления и объекты,
навыков работы с ввода данных вПоказывать на лентеВставка использование рисунка в вместе с ним. значение, время или
отдельный переключатель для элементов). управления запускается код Чтобы уменьшить значение, отдельный переключатель для другими программами, такими как работать с способов. Ячейки часто сети. которые можно добавить формами в VBA таблицу» проблема вустановите флажоквыберите щелкнув
качестве фона листа. В отличие от дату. Чтобы увеличить каждой буквы алфавитаИзменение положения или размера VBA. щелкните стрелку вниз. каждой буквы алфавита как Calendar Control этими элементами управления используются как названия
Обзор элементов управления ActiveX
Группирует связанные элементы управления к ним, можно — только заказывать том, что данныеВкладка «Разработчик»UserForm Чтобы скрыть или элементов управления ActiveX значение, щелкните стрелку или флажок для элемента управления относительно
На компьютере находятся многочисленные Как правило пользователь или флажок для 12.0 и проигрыватель и объектами более и регулируйте высоту в виде прямоугольника упростить ввод данных работу в платном
в таблицу переносятся.. отобразить линии сетки,
можно назначить различные вверх, чтобы уменьшить каждого элемента в ячейки. элементы ActiveX, установленные может ввести текстовое каждого элемента в Windows Media. подробно. и ширину ячейки с необязательной подписью. на листе и разделе. Вряд ли строго последовательно (т.е.В правой части лентыСоздайте процедуру для отображения
на вкладке атрибуты, например, размер — стрелку вниз.
крупном списке датПозволяет, в прямоугольник, просмотр, приложением Excel и значение непосредственно в крупном списке датГруппы связанных элементов управленияПростой список поддерживает выбор и объединение ячеек, Обычно группируются переключатели,
улучшить внешний вид найдется желающий писать при удалении первой нажмите кнопку пользовательской формы.Вид шрифта и начертание Как правило, пользователь и чисел. введите или измените других программ, таких связанной ячейки или и чисел. в единый блок только одного элемента. вы можете сделать флажки или тесно содержимое листа. Можно
большую форму задаром записи из двухи выберите пунктДобавление элементов управления ActiveX.в группе шрифта, отдельные слова также может вводитьНесвязный выбор нескольких позволяет текст или данных, как Calendar Control текстового поля.Список, разрешающий несвязный выбор прямоугольник с необязательно Такой список похож лист поведению форму
связанные данные. также выполнить самостоятельно и вряд ли внесенных, следующая будетПараметры лентыИзменение свойств элементов управления
Показать или скрыть и символы в текст в связанную выбрать один элемент, привязанном к ячейке. 12.0 и проигрывательПримечание: нескольких строк, позволяет метки. Как правило на набор переключателей, ввода данных простого.форма данных предоставляет удобный с прямым или Вы сами ее
снимите или установите объекте. Также можно ячейку или текстовое также расположенных рядом Текстовое поле также Windows Media. Следующие элементы управления недоступны выбрать один элемент, сгруппированные переключателей, флажков но позволяет отобразить
Другие функции управления способ ввода или нет необходимости Microsoft напишете.
третья), в связиВ разделеНапишите процедуры обработчика событий флажок назначать макросы и
поле. элементов. может быть статическоеВажно: в книгах Office расположенные рядом элементы, или тесно связанного большее количество элементов like, например примечания отображения одной строки Visual Basic дляМотя с чем прошуНастройки для элементов управленияСетка добавлять гиперссылки наПодписьРасширенные списка со множественным
текстовое поле, которое Не все элементы управления Excel 2007. В а также разрозненные содержимого. в меньшей области. к ячейкам, гиперссылки, данных из диапазона приложений (VBA).: Уважаемая Ирина! помочь сделать так,установите флажок ActiveX.. эти объекты. МожноУказывает назначение ячейки или выбором включает один содержит сведения только ActiveX можно использовать
Excel версий 5.0
элементы.Включает или отключает значение,Использование элементов управления формы фоновые изображения, проверки или таблицы, не
Форма листа не тоНе изобретайте велосипед! что бы данныеРазработчикС помощью пользовательские формы,Существует три различных типа даже связывать текста текстового поля, содержит элемент, расположенных элементов для чтения. непосредственно на листах; Диалоговые листы только
Расширенные списка со множественным что соответствует выбору при необходимости легко данных, условное форматирование, требующий применения горизонтальной же самое храненияВо всех версиях вносились не последовательно. то можно использовать элементов управления и в фигуру или
описание (заголовки, подписи,
и выбора несмежныхНа фоне формы листа Некоторые можно использовать можно использовать эти выбором включает один
противоположных действий. На
ссылки и взаимодействовать внедренные диаграммы и прокрутки. Использовать форму
шаблонов Excel. Шаблон
EXCEL (2003, 2007, а в строку,На вкладке функции расширенного формы. объекты, которые можно текстовое поле объект рисунки) или краткие (или разрозненные).
можно отобразить или только на Visual элементы управления. элемент, расположенных элементов листе или в с данными ячейку Автофильтр может сделать данных может быть — готовые файлов, 2010 — про в которой естьРазработчик Например программным способом изменять однозначно, вы
с ячейкой листа
инструкции.Представляет собой сочетание текстового скрыть линии сетки. Basic для приложенийВыводит список доступных на и выбора несмежных группе можно одновременно без использования кода поведению Дополнительно формы проще, чем перемещаться которые помогут вам
Объекты средств рисования
2013 не знаю) активная ячейка.выберите элемент управления, можно добавить отдельные может не наверняка и динамическое отображениеИзображение поля и раскрывающегося Например, может потребоваться (VBA) пользовательские формы. компьютере элементов ActiveX, (или разрозненные). установить несколько флажков. VBA и вы листа. между столбцами, которых приступить к созданию штатный режим «Форма»_Boroda_ который хотите добавить. переключатель для каждой знаете, какой тип обновленных значений вВыводит изображение, например точечный списка. Поле со отключить линии сетки При попытке добавить которые можно добавитьПредставляет собой сочетание текстового Флажок может иметь хотите добавить элементыТак как элементы управления слишком много для книги, которая выглядит достаточно «кривой» и: Допишите еще вотНа листе щелкните место,
Работа с элементами управления и объектами на листе
буквы алфавита или элемента управления — этих объектов. рисунок, JPEG или списком компактнее обычного ячеек и затем любого из этих в настраиваемую форму поля и раскрывающегося одно из трех
управления листы диаграмм. и объекты хранятся одновременного отображения на так, как нужно. ограничен 32 полями так куда нужно вставить
можно добавить флажок просто просмотрев его.После добавления форм и GIF.
списка, однако чтобы применить ко всем определенного элементов ActiveX
(например, элементы Calendar списка. Поле со состояний: установлен (значение Например добавив элемент
на полотно, можно экране. Форму данных Форма содержит элементы БД.
Dim iLastRow As Long элемент управления. для каждого элемента
Определение типа элемента элементами ActiveX вРамка отобразить список элементов,
ячейкам один и на листе Excel Control 12.0 или
списком компактнее обычного
включено), снят (значение управления списком на отобразить или просматривать можно применять тогда, управления, например поляУстановитеr0_ = 12Чтобы задать свойства элемента в большом списке управления (в форме форме листа, обычноПрямоугольный объект с подписью пользователь должен щелкнуть тот же цвет с сообщением «Не проигрывателя Windows Media). списка, однако чтобы отключено) и смешенное лист и связь элементы управления и когда достаточно простой или раскрывающиеся списки,БЕСПЛАТНУЮ надстройку
Определение типа элемента управления на листе
Do While Range(«C» управления, щелкните его, дат и чисел. или ActiveX), выберите требуется выполнить точную необязательно, группы, связанные стрелку вниз. Поле либо узор или удается вставить объект». В этом диалоговом отобразить список элементов, состояние, то есть с ячейкой, можно объекты вместе с формы с текстовыми
которые может упростить, ссылку на которую & r0_ + удерживая нажатой клавишуПеред созданием пользовательских форм и щелкните правой настройку и изменение
элементы управления в со списком следует даже использовать вОднако нельзя добавить элементы окне также можно
пользователь должен щелкнуть сочетание состояний «включено» возвращать числовое значение связанного текста, не полями, в качестве для пользователей, используйте на форуме для n_) <> «» CONTROL, и выберите
рассмотрите возможность применения кнопкой мыши элемент положения элементов в единый блок. Как
Пользовательские формы VBA
использовать, когда требуется качестве фона листа управления ActiveX до зарегистрировать пользовательский элемент стрелку вниз. Поле и «отключено» (если для текущего положения изменяя вида сетки подписей которых используются для ввода или всех любезно предложилn_ = n_ пункт встроенных диалоговых окон,
управления, а затем различных способов создания правило в элементе обеспечить возможность ввода рисунок. Чтобы скрыть листы макросов XLM управления. со списком следует поддерживается выбор нескольких выбранного элемента в или таблицы данных
заголовки столбцов, и редактирования данных на
один из самых уважаемых
+ 1Формат элемента управления
доступных в Excel. Отображение контекстного меню: хорошо спроектированный понятное
управления frame сгруппированы элементов в список или отобразить линии или листы диаграммТекстовое поле использовать, когда требуется элементов). элементе управления. Затем на листе независимо когда не требуются листе. Чтобы найти
экспертов форумаLoop. Они включают функцииЕсли контекстное меню содержит форма пользователя. Ниже переключателей, флажков или и выбора из сетки, на вкладке из пользовательского интерфейса.Список со списком - обеспечить возможность вводаВыбор или отмена выбора можно использовать это от границы строк сложные или пользовательские дополнительные сведения о-iLastRow = r0_В окне VBA
команду перечислены распространенные задачи. тесно связанного содержимого.
него одного элемента.
Создание форм для заполнения и печати в Excel
Вид в группе Нельзя назначить макрос изменение элементов в список элементов управления с числовое значение в и столбцов. В возможности, например списки шаблонах можно загрузить,ZVI + n_Формат объекта
Шаг 1. Отображение вкладки «Разработчик».
Управление отображением линий сеткиПримечание: В этом элементе Показать снимите или непосредственно из элемента
Поле со списком раскрывающееся и выбора из целью указания свойств сочетании с функцией большинстве случаев, многие
и счетчики. читайте статью шаблонов.Cells(iLastRow, 3) =задайте такие свойства
и, элемент управления является при работе с Элемент управления ActiveX рамки управления отображается текущее
установите флажок Сетка. управления ActiveX точно — редактирования него одного элемента. или дополнительной настройки.
Шаг 2. Добавление и форматирование элементов управления содержимым
индекс из этих элементовMicrosoft Excel может Excel.
Надстройка: Me.TextBox10 элемента управления, как
MsgBox элементом ActiveX и элементами управления и в разделе значение независимо отПоскольку существует три разных так же, вы
Диалоговое окно выполнить В этом элементеВключает или отключает значение,для выбора различных управления могут быть автоматически создать встроенную
Формы, печати и онлайн-ли1. не имеетProstaK
Шаг 3. Защита листа, содержащего форму
шрифт, выравнивание и, метод Excel сейчас используется режим принятии решения оЭлементы ActiveX того, каким образом типа элементов управления можете из элемента
Элементы ActiveX можно использовать
управления отображается текущее
что соответствует выбору элементов из списка. связаны в ячейки форму данных для документ предназначен с ограничения на количество: цвет.InputBox конструктора. вывода линий сетки
Шаг 4. Проверка формы (необязательно)
: команда « оно было введено. и объектов, которые
управления формы. в формах на значение независимо от
противоположных действий. НаСписок, разрешающий несвязный выбор на листе и диапазон или таблица.
Форма ввода в таблицу (Макросы/Sub)
стандартные структура и полей БД,
_Boroda_Повторите действия 1–4 для, методЕсли контекстное меню содержит на готовой формеВставитьОбъединяет текстового поля со можно изменять уникальнымВыводит список доступных на листах, с или того, каким образом листе или в нескольких строк, позволяет не требует кода Форма данных отображает формат, который упрощает2. позволяет одним, Александр, спасибо! каждого добавляемого элементаGetOpenFilename
команду листа.» недоступна. Тем
списком, чтобы создать
образом, иногда невозможно
компьютере элементов ActiveX, без использования кода оно было введено.
группе можно установить выбрать один элемент,
VBA, чтобы сделать
все заголовки столбцов записывать, упорядочивать и
движением мыши изменитьВсе работает, тему
управления., методНазначить макросВыбор или Отмена выбора
не менее можно поле со списком.
создание в Excel 2010 формы для ввода данных в форматированную таблицу
точно определить тип которые можно добавить VBA и наОбъединяет текстового поля со несколько флажков. Флажок расположенные рядом элементы, их работы. Можно в виде подписей
изменение сведений. размеры формы, можно закрывать.В менюGetSaveAsFilename, это элемент управления элементов управления с
добавить элемент управления Поле со списком элемента управления по в настраиваемую форму пользовательские формы VBA. списком, чтобы создать может иметь одно а также разрозненные настроить свойства, определяющие в одном диалоговомПечатной формы, содержащие инструкции,3. содержит необходимыйИринаСервиси объект Dialogs формы. целью указания свойств в диалоговом окне более компактную чем
его внешнему виду. (например, элементы Calendar Как правило используйте поле со списком. из трех состояний: элементы. ли элемент управления окне. Каждая метка форматирование, меток и минимум инструментов для: Здравствуйте, подскажите пожалуйста:наведите указатель на
объектаСовет:
или дополнительной настройки.
Другие элементы управления поле со списком, Чтобы определить тип Control 12.0 или элементы управления ActiveX, Поле со списком установлен (значение включено),Тем не менее эти
расположенном свободно или имеет смежных пустое пустого пространства для работы по ведению можно ли в пунктApplication Чтобы отобразить правильное контекстноеИзменение текста элемента управления,, выбрав
но пользователь должен
элемента управления (элемент проигрывателя Windows Media). при необходимости более
более компактную чем снят (значение отключено) элементы управления невозможно
перемещение и изменяет текстовое поле, в написания или ввод БД.
Создание пользовательских форм VBA

Пользовательская форма — очень важная часть программирования на VBA. Он позволяет создать профессиональный пользовательский интерфейс для общения с пользователями вашего приложения VBA. Это также позволяет вам полностью контролировать действия пользователя с вашей книгой.
Вы, конечно, можете использовать ячейки рабочего листа для приема параметров от пользователя, но пользовательская форма обеспечивает гораздо лучший пользовательский опыт.
Увеличив высоту и ширину пользовательской формы до размера окна Excel, вы можете сделать свое приложение похожим на обычное приложение Windows, при этом пользователь не будет знать, что он использует Excel в качестве хоста.
Вам доступны все обычные элементы управления Windows, такие как раскрывающиеся списки, списки, флажки. У вас также есть огромный набор методов, событий и свойств, которые можно использовать для улучшения взаимодействия с пользователем.
Важным моментом является то, что при отображении пользовательской формы, которая является встроенной или модальной, вы не можете редактировать свой код в VBE или получить доступ к каким-либо функциям Excel. Только когда форма будет закрыта, курсор появится в вашем коде.
Встроенные пользовательские формы VBA
Excel VBA в виде нескольких встроенных форм, которые можно использовать для общения с пользователем.
Окно сообщения
Это наиболее часто используемая форма в VBA. Он просто отображает текстовое сообщение, возможно, информирующее пользователя о том, что они ввели недопустимые данные или что процесс VBA завершен. В своей простейшей форме они отображают текстовую строку, но вы также можете добавить значок, например вопрос или восклицательный знак, и дать окну сообщения другой заголовок.

Это простой пример. Нажмите только одну кнопку, а в строке заголовка написано «Microsoft Excel».
Код для его создания очень прост:
| 123 | Sub TestMsgBox ()MsgBox «Этот процесс завершен»Конец подписки |
Вы можете использовать различные параметры для добавления кнопок, значков и изменения строки заголовка.
| 123456789 | Sub TestMsgBox ()Dim Ret As VariantRet = MsgBox («Вы уверены?», VbYesNo или vbQuestion, «Мое приложение»)Если Ret = vb Да, то’Ваш процесс здесьЕщеВыйти из подводной лодкиКонец, еслиКонец подписки |

Этот код добавляет кнопки «Да» и «Нет» и значок вопросительного знака, а также устанавливает строку заголовка. Обратите внимание, что вы можете комбинировать стили окна сообщения с помощью оператора «Или».
Кроме того, когда вы возвращаете значение из окна сообщения, возвращаемая переменная должна быть определена как вариант или vbMsgBoxResult, а в операторе окна сообщения должны использоваться скобки,
Поле ввода
В VBA встроено очень простое поле ввода, хотя оно весьма ограничительно в том, что вы можете с ним делать. Если есть возможность, лучше разработать собственную пользовательскую форму.
| 12345 | Sub TestInputBox ()Dim Ret As StringRet = InputBox («Пожалуйста, введите ваше имя», «Введите имя»)MsgBox RetКонец подписки |

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

Код ограничивает пользователя только просмотром файлов Excel. К сожалению, они могут ввести имя файла, отличное от Excel, в поле «Имя файла» и нажать кнопку «Открыть», поэтому вам понадобится код, чтобы убедиться, что выбран файл Excel.
Используйте команду «ChDir», чтобы изменить каталог по умолчанию в соответствии с вашими требованиями перед отображением диалогового окна файла.
Обратите внимание на использование подстановочных знаков в параметре FileFilter. Отображаемые файлы Excel могут быть до 2007 года, содержать макросы или быть двоичными, поэтому используется фильтр «.xls *».
| 123456 | Подложка TestFileDialog ()Dim MyFile As StringChDir "C: \ temp"MyFile = Application.GetOpenFilename («Файлы Excel (* .xls *), *. Xls *», «Выберите файл»)MsgBox MyFileКонец подписки |
При необходимости вы можете разрешить пользователю выбирать сразу несколько файлов с помощью параметра MultiSelect. Значение по умолчанию — False (только для одиночного выбора).
| 12345678 | Подложка TestFileDialog ()Dim MyFile как вариантChDir "C: \ temp"MyFile = Application.GetOpenFilename ("Файлы Excel (* .xls *), *. Xls *",, "Выбрать файл",, True)Для каждого f в MyFileMsgBox fДалее fКонец подписки |
Пользователь удерживает клавишу Shift в диалоговом окне файла, чтобы выбрать несколько файлов.
Цикл For Each отображает полный путь и имя каждого выбранного файла.
Диалоги Excel по умолчанию
В Excel VBA есть коллекция диалогов, которую можно использовать для отображения любого стандартного диалогового окна Excel. Обратной стороной является то, что вы не можете получить доступ к параметрам, которые выбрал пользователь, или изменить внешний вид диалогового окна, но эти диалоговые окна могут быть полезны для направления пользователя к стандартной функции Excel и предоставления им возможности выбирать определенные параметры в диалоговом окне.
Хорошим примером этого является отображение диалогового окна «Печать» из VBA:
| 123 | Sub TestPrintDialog ()Application.Dialogs (xlDialogPrint). ПоказатьКонец подписки |
Когда вы откроете скобки в коллекции Dialogs, вы увидите список огромного количества констант для встроенных диалогов. Стоит поэкспериментировать с некоторыми из этих опций в вашем коде.

Вставка новой формы пользователя
Вы можете создавать свои собственные пользовательские формы, вставляя пользовательскую форму в редактор Visual Basic (VBE).
Вы делаете это, выбирая Insert | UserForm в строке меню VBE.

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

Сама форма (обозначенная как «UserForm1») выглядит довольно маленькой, но вы можете использовать ручки вокруг нее, чтобы увеличить или уменьшить ее, перетащив маркеры с помощью курсора.
В левом нижнем углу экрана есть окно свойств. Поскольку фокус находится непосредственно на самой форме, он содержит все свойства формы, специфичные для этой формы.
Обратите внимание, что когда вы начинаете добавлять элементы управления, такие как поля со списком и командные кнопки, все эти элементы управления имеют свой собственный набор свойств, и они могут сильно отличаться в том, что вы можете делать с каждым из них.
Свойства, которые вы видите в настоящее время, применяются только к самой форме.
Свойство «Имя» — это имя, используемое для определения объекта формы в коде VBA. Возможно, вы захотите использовать что-то более значимое для имени объекта, чтобы при просмотре кода было очевидно, какая форма используется.
Свойство «Имя» также будет отображаться в окне «Обозреватель проекта» в верхнем левом углу экрана.
Вы захотите изменить строку заголовка вашей формы на что-то отличное от «UserForm1», и вы можете сделать это, введя новый текст в свойстве «Caption».
Вы можете внести огромное количество изменений в то, как ваша форма будет восприниматься пользователем. Вы можете изменять цвета, добавлять изображения, например. корпоративный логотип, измените положение с помощью «Слева» и «Сверху», измените размер с помощью «Высота» и «Ширина», измените указатель мыши и многое другое.
Все эти свойства также можно изменить программно для любого элемента управления, который вы добавили в форму. Например, пользователь может выбрать элемент управления из окна списка, а вы можете отключить или скрыть другие элементы управления в зависимости от выбора пользователя.
Использование панели инструментов
Вы заметите, что когда вы нажимаете на саму форму, появляется всплывающее окно с набором инструментов. Если вы нажмете где-нибудь еще, например панель свойств, она исчезнет, но появится снова, когда вы щелкнете по форме.
Набор инструментов обеспечивает реальную механику дизайна формы. Это позволяет добавлять в форму обычные элементы управления Windows, с которыми пользователи знакомы.

Вы заметите, что на форме есть сеть точек. Это «snapgrid», поэтому когда вы добавляете элемент управления в форму, он автоматически выравнивает позицию по строкам и столбцам точек. Это очень помогает при выравнивании элементов управления, чтобы элементы управления не выглядели неровными.
Если вы нажмете на элемент управления, а затем решите не использовать его, нажатие на значок «Стрелка» в верхнем левом углу панели инструментов вернет ваш курсор в нормальное состояние.
Вы можете добавить дополнительные элементы управления на панель инструментов с помощью Tools | Дополнительные элементы управления в меню VBE. Их доступно значительное количество, но в зависимости от ваших версий Windows и Excel они не всегда работают, поэтому часто требуются некоторые эксперименты.
Кроме того, ваши пользователи могут не иметь доступа к некоторым из этих дополнительных элементов управления или использовать более старые версии Windows и Excel, что может вызвать проблемы. В крупных организациях, особенно глобальных, нет такой вещи, как ПК стандартной сборки, на который можно было бы положиться!

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

Кнопка будет иметь текст по умолчанию в качестве заголовка, но вы захотите изменить его в соответствии с вашими требованиями. Вы можете щелкнуть текст внутри кнопки («CommandButton1»), и это позволит вам напрямую редактировать заголовок.
Вы также можете изменить его в окне свойств (нижний левый угол экрана). Вы увидите свойство под названием «Caption», и вы можете изменить его значение. Измените это на «Выход».
Как и в случае со свойствами формы, свойство Name определяет имя, которое будет использоваться в вашем коде VBA. Вы можете захотеть использовать в своем коде более понятное и понятное имя. Вы можете ввести это в свойстве «Имя».
Вы можете изменить положение кнопки, перетащив ее по форме, и вы можете изменить ее размер, щелкнув ручки кнопок (белые квадратные поля) и перетащив ручки, чтобы увеличить или уменьшить
Вы также можете изменить размер кнопки, изменив значения высоты и ширины в окне свойств.
Вы можете просмотреть свою форму в Excel, щелкнув зеленый треугольник на панели инструментов VBE или нажав F5

Вы можете вызвать форму из кода VBA в модуле с помощью метода «Показать».
| 123 | Подложка ShowForm ()UserForm1.ShowКонец подписки |
Ваша пользовательская форма фактически является глобальным объектом и может быть вызвана из любого места в вашем коде.
В настоящее время ваша командная кнопка ничего не делает, потому что за ней нет кода VBA. Вы должны написать это сами! Все, что может произойти в данный момент, — это нажать на значок «Закрыть» X в правом верхнем углу формы.
Чтобы добавить код VBA, дважды щелкните кнопку в форме
Вы попадете в обычное окно кода VBA и покажете событие щелчка по умолчанию.
Вы используете метод «Скрыть», чтобы закрыть форму, а также можете добавить любой другой код, например окно сообщения, чтобы подтвердить пользователю, что произошло.

Обратите внимание, что в окне кода есть два раскрывающихся списка вверху. Первый позволяет вам выбрать элементы управления формой, а второй показывает все события, которые доступны для добавления кода. Очевидным событием для кнопки является событие «Щелчок», но есть и другие, такие как «Двойной щелчок» или «Перемещение мыши».
Когда вы сейчас запускаете форму, кнопка действительно что-то делает. Форма исчезает, и отображается окно сообщения, подтверждающее, что форма закрыта.
Вы, конечно, можете увеличить код выхода. Вы можете отобразить другую форму или выполнить действия с параметрами, которые пользователь ввел в вашу форму.
Добавление элемента управления Label в форму
Элементы управления метками предназначены для подсказки пользователю, какие данные ему нужно ввести в элемент управления в форме, например. текстовое поле, раскрывающийся список и т. д. По умолчанию метка не имеет границ, но при необходимости их можно добавить через окно свойств.
В качестве элемента управления они доступны только пользователю для чтения и представляют собой просто способ размещения текста в форме, будь то заголовок, выделенный жирным шрифтом, или указание, что вводить или выбирать.
Чтобы добавить метку, щелкните значок «A» на панели инструментов (верхний ряд, второй слева) и либо дважды щелкните по нему, либо переместите курсор на форму и выберите положение и размер.

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

Текст «Введите свое имя» представляет собой элемент управления ярлыком, как описано ранее, и теперь у нас есть белое текстовое поле, готовое для того, чтобы пользователь мог что-то ввести.
Используя окно свойств, вы можете изменить цвета, шрифты, специальные эффекты или использовать символы пароля для вашего текстового поля. Доступна колоссальная гибкость
Одним из очень важных свойств текстового поля является свойство «MultiLine». Если вы хотите, чтобы пользователь вводил большой объем текста в текстовый элемент управления, например комментарии, то для свойства MultiLine должно быть установлено значение True.
По умолчанию установлено значение False, что означает, что, каким бы большим вы ни делали свое текстовое поле, введенный текст останется на одной непрерывной строке и будет прокручиваться за пределы текстового поля. Он не будет оборачиваться внутри коробки.
Когда вы щелкаете правой кнопкой мыши по текстовому полю, когда оно запущено, всплывающее окно не появляется, но CTRL + V будет работать для вставки, а CTRL + C будет работать для вырезания, если пользователь захочет вырезать и вставить текст в другое и обратно. Приложения
Опять же, вам нужно написать свой собственный код для работы с текстом, введенным пользователем. Возможно, вы захотите перенести его в ячейку на листе.
Вы можете добавить этот код в событие «Изменить» для текстового поля.
| 123 | Частное под-текстовое поле1_Change ()Таблицы ("Sheet1"). Диапазон ("A1"). Value = TextBox1.ValueКонец подписки |
Вы также можете добавить код проверки, чтобы убедиться, что пользователь не вводит мусор, который будет иметь катастрофические последствия для вашего приложения.
Событие изменения не подходит для этого, потому что оно вызывается каждый раз, когда пользователь вводит новый символ. Пользователь мог начать вводить строку текста и сразу обнаружить, что они нарушили ваши правила проверки, прежде чем они завершили действительный текст.
Вы используете событие «Выход». Это срабатывает, когда пользователь перемещает фокус на другой элемент управления в форме, что означает, что пользователь больше не вводит данные.
| 123456 | Private Sub TextBox1_Exit (ByVal Cancel As MSForms.ReturnBoolean)Если IsNull (TextBox1.Value) или Len (TextBox1.Value) <4, тоMsgBox «Недопустимое имя», vbCriticalTextBox1.SetFocusКонец, еслиКонец подписки |
Когда пользователь щелкает другой элемент управления в форме, этот код проверяет либо нулевое значение в текстовом поле, либо менее 4 символов. Если тест верен, то появляется окно сообщения с критическим значком, информирующее пользователя о том, что имя недействительно, и фокус перемещается обратно в нарушающее текстовое поле, чтобы пользователь мог исправить.
Обратите внимание, что даже если пользователь нажимает кнопку «Выход», сначала выполняется событие выхода из текстового поля, поэтому это предотвращает выход пользователя без исправления ввода.
Инициализировать и активировать события в форме
Когда VBA впервые создает и строит форму, он запускает событие «Initialize». Однако, поскольку форма также отображается в этот момент, она также запускает событие «Активировать». С этого момента каждый раз, когда форма появляется с использованием метода «Показать» или появляется как часть иерархии форм, запускается событие «Активировать», но не событие «Инициализировать».
Событие «Инициализация» происходит только один раз, но событие «Активировать» может происходить много раз.
В своей форме вы можете настроить значения по умолчанию из рабочего листа в элементах управления вводом, например. текстовые поля, чтобы они появлялись при первом использовании формы, но пользователь может перезаписать значения по умолчанию, и эти новые значения останутся на месте, пока выполняется код
| 12345678 | Частная подписка UserForm_Initialize ()TextBox1.Value = Sheets ("Sheet1"). Range ("A1"). ValueЕсли TextBox1.Value = ”” ТогдаTextBox1.Visible = ЛожьЕщеTextBox1.Visible = TrueКонец, еслиКонец подписки |
Вы можете найти событие «Initialize» во втором раскрывающемся списке окна кода и имя пользовательской формы в первом раскрывающемся списке.
Этот код будет использовать значение ячейки A1 на «Sheet1» в качестве значения по умолчанию в текстовом поле, созданном ранее в этой статье. Когда форма появляется впервые, появится значение по умолчанию. Затем пользователь может перезаписать значение по умолчанию, и оно будет сохранено. Если ячейка CellA1 пуста, текстовое поле будет скрыто, в противном случае оно будет видно.
Значение по умолчанию также может быть жестко закодировано:
| 1 | TextBox1.Value = «Джон Смит» |
Вы также можете убедиться, что значения, введенные пользователем, снова появляются всякий раз, когда пользователь запускает эту форму в этом конкретном сеансе Excel. Код VBA может легко записывать значения обратно в ячейки в книге с помощью события «Exit» в элементе управления и повторно устанавливать их с помощью события «Activate» в форме.
| 123 | Private Sub TextBox1_Exit (ByVal Cancel как MSForms.ReturnBoolean)Таблицы ("Sheet1"). Диапазон ("A10"). Value = TextBox1.ValueКонец подписки |
| 123 | Частная подписка UserForm_Activate ()TextBox1.Value = Sheets ("Sheet1"). Range ("A10"). ValueКонец подписки |
Этот код сделает значения пользователя постоянными, а также гарантирует, что они будут сохранены вместе с остальной частью книги.
Сохранение заявки и форм
Когда вы сохраняете книгу Excel, содержащую ваши формы, все формы и их код VBA также сохраняются. Однако любые значения, которые хранятся в формах во время их отображения, будут потеряны.
Важно написать код, чтобы при выходе пользователя из книги или формы значения записывались обратно в ячейки в книге и таким образом сохранялись.
Модальные и немодальные формы
Сама форма имеет свойство «Показать модальное окно». По умолчанию установлено значение True, но его можно изменить на False (немодальный).

Если форма является модальной, это означает, что ни одна из функций Excel не может быть доступна во время отображения формы. Это включает ваш код в окне VBE. Вы можете просмотреть код, но курсор и клавиатура отключены.
В немодальной форме вы можете получить доступ ко всем функциям Excel, включая окно VBE, пока форма отображается.
Это важно с точки зрения управления поведением пользователей.
Закрытие формы
Как бы хорошо вы ни писали свой код, заставляющий пользователя следовать определенному маршруту, они могут легко его обойти, щелкнув «Закрыть» X в правом верхнем углу формы.
Вы можете предотвратить это, изменив событие «QueryClose» формы
| 1234 | Private Sub UserForm_QueryClose (Отменить как целое число, CloseMode как целое число)Отмена = ИстинаMsgBox "Это действие отключено"Конец подписки |
Событие «QueryClose» запускается, когда пользователь щелкает X «Закрыть» формы. Этот код отменяет действие, поэтому пользователь вынужден использовать вашу кнопку «Выход» и код, который стоит за ней.
Включение и отключение элементов управления
Все элементы управления в вашей форме имеют свойство «Включено», для которого установлено значение «Истина» или «Ложь». Если установлено значение False, элемент управления неактивен. Его можно увидеть, но нельзя использовать.
Также существует свойство Visible, которое снова имеет значение True или False.
Вы можете написать код, чтобы сделать определенный элемент управления непригодным для использования или сделать его полностью невидимым для пользователя. Используя оператор «Если», вы можете выбрать обстоятельства, когда вам нужно это сделать.
Например, вы можете изначально отключить кнопку «Выход», пока пользователь не введет значение в TextBox1 (имя).
| 123 | Частная подписка UserForm_Initialize ()CommandButton1.Enabled = FalseКонец подписки |
| 1234567 | Частное под-текстовое поле1_Change ()Если Len (TextBox1.Value)> 0, тоCommandButton1.Enabled = TrueЕщеCommandButton1.Enabled = FalseКонец, еслиКонец подписки |
Этот код использует событие формы ‘Initialize’ для отключения кнопки выхода (Command Button 1), когда форма впервые появляется, а затем использует событие ‘Change’ в TextBox1 (name), чтобы включить кнопку Exit, если что-то было введено или отключено это, если поле пустое.
Событие «Изменить» запускается каждый раз, когда вводится новый символ или удаляется из текстового поля. Если пользователь пытается ввести текст, чтобы активировать кнопку, а затем удаляет весь текст, кнопка будет немедленно отключена.
Обзор форм, элементов управления формы и ActiveX элементов управления на сайте
Благодаря формам, а также многочисленным элементам управления и объектам, которые можно в них добавить, значительно упрощается ввод данных в листы и улучшается их внешний вид. Вы также можете делать это самостоятельно, и вам почти или совсем не потребуется код Microsoft Visual Basic для приложений (VBA).
Форма листа и шаблон Excel — это не одно и то же. Шаблон — это предварительно отформатированный файл, который служит отправной точкой для создания книги с требуемым оформлением. Форма содержит элементы управления, такие как поля и раскрывающиеся списки, упрощающие ввод и изменение данных для использующих ваш лист. Дополнительные информацию о шаблонах, которые можно скачать, см. в Excel шаблонов.
Общие сведения о формах
Форма (печатная или веб-версия) — это документ со стандартной структурой и форматированием, который упрощает сбор, у упорядочение и редактирование сведений.
Печатаемая форма содержит инструкции, форматирование, наклейки и пустые пробелы для ввода и ввода данных. Для создания печатных Excel и Excel шаблонов.
Веб-формы содержат те же функции, что и печатные формы. Кроме того, веб-формы содержат элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод или изменение данных, выполнение действия или выбор данных. Как правило, элементы управления упрощают работу с формой. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).
Создавать печатные Excel веб-формы можно несколькими способами.
Типы форм Excel
В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.
Форма данных
форма данных предоставляет удобный способ ввода или отображения одной строки данных из диапазона или таблицы, не требующий применения горизонтальной прокрутки. Использовать форму данных может быть проще, чем перемещаться между столбцами, которых слишком много для одновременного отображения на экране. Форму данных можно применять тогда, когда достаточно простой формы с текстовыми полями, в качестве подписей которых используются заголовки столбцов, и когда не требуются сложные или пользовательские возможности, например списки и счетчики.
Excel может автоматически создать встроенную форму данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, находить строки путем навигации или (на основе содержимого ячейки) обновлять строки и удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.
Лист с формой и элементами ActiveX
Этот тип формы позволяет вводить и просматривать данные в сетке. Кроме того, на Excel уже встроены некоторые функции, похожие на элементы управления, такие как приметки и проверка данных. Ячейки напоминают текстовые поля, которые можно вводить и форматированием различными способами. Ячейки часто используются в качестве подписей, и благодаря регулировке высоты и ширины ячеек, а также объединению ячеек можно настроить поведение таблицы как простую форму для ввода данных. Другие функции управления, такие как приметки к ячейкам, гиперссылки, фоновые изображения, проверка данных, условное форматирование, внедренные диаграммы и автофайл, могут привести к работе с таблицами как к расширенным формам.
Для большей гибкости вы можете добавлять элементы управления и другие объекты-рисунки полотно на полотно, а также объединять и координировать их с ячейками. Например, с помощью списка можно упростить выбор элементов в списке. Кроме того, можно упростить ввод номера с помощью счетчика.
Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.
В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. Кроме этих наборов элементов управления, вы также можете добавлять объекты из средств рисования, такие как автофигуры, объект WordArt, графические элементы SmartArt или текстовые поля.
В следующих разделах более подробно описываются элементы управления и средства рисования, а также работа с ними.
Элементы управления формы
Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.
Элементы управления формы используются, если вы хотите легко ссылаться на данные ячеок и взаимодействовать с ними, не используя код VBA, а также добавлять их на листы диаграмм. Например, после добавления элемента управления «список» на лист и связывания его с ячейкой можно вернуть числовые значения для текущего положения выбранного элемента управления. Затем можно использовать это число в сочетании с функцией ИНДЕКС для выбора различных элементов в списке.
С помощью элементов управления формы можно также выполнять макросы. Можно назначить элементу управления существующий макрос либо создать или записать новый. Когда пользователь формы щелкает элемент управления, запускается макрос.
Однако эти элементы управления невозможно добавить в пользовательские формы, использовать для управления событиями или изменить для запуска веб-сценариев на веб-страницах.
Макросы Excel – пользовательские формы
Иногда вам, возможно, придется собирать информацию повторно от других. Excel VBA предоставляет вам простой способ решения этой задачи – UserForm . Как и любая другая форма, которую вы заполняете, UserForm упрощает понимание того, какую информацию следует предоставлять. Пользовательская форма удобна для пользователя, так как предоставляемые элементы управления не требуют пояснений и сопровождаются дополнительными инструкциями, если это необходимо.
Основным преимуществом UserForm является то, что вы можете сэкономить время, которое вы тратите на то, как и как информация должна быть заполнена.
Создание пользовательской формы
Чтобы создать пользовательскую форму, выполните следующие действия:
- Нажмите вкладку РАЗРАБОТЧИК на ленте.
- Нажмите Visual Basic. Откроется окно Visual Basic для книги.
- Нажмите Вставить,
- Выберите UserForm из выпадающего списка.

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

Понимание пользовательской формы
Разверните окно UserForm.xlsx – UserForm1.
Вы находитесь в режиме дизайна сейчас. Вы можете вставить элементы управления в пользовательскую форму и написать код для соответствующих действий. Элементы управления доступны в панели инструментов. Свойства UserForm находятся в окне свойств. UserForm1 (подпись 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.
Есть три типа списков –
Поле со списком с одним выбором – Поле со списком с одним выбором включает только один выбор. В этом случае поле списка напоминает группу кнопок выбора, за исключением того, что поле списка может более эффективно обрабатывать большое количество элементов.
Список выбора множественного выбора – Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.
Поле со списком расширенного выбора – Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.
Поле со списком с одним выбором – Поле со списком с одним выбором включает только один выбор. В этом случае поле списка напоминает группу кнопок выбора, за исключением того, что поле списка может более эффективно обрабатывать большое количество элементов.
Список выбора множественного выбора – Список списка множественного выбора включает либо один выбор, либо смежные (смежные) варианты.
Поле со списком расширенного выбора – Поле со списком расширенного выбора позволяет выбрать один, непрерывный и несмежный (или несвязанный) выбор.
Вы можете выбрать один из этих типов списков в окне свойств.

- Щелкните правой кнопкой мыши на пользовательской форме.
- Выберите View Code из выпадающего списка. Откроется окно кода UserForm.
- Нажмите Инициализировать в правом верхнем углу окна кода.
- Введите следующее в Private Sub UserForm_Initialize ().

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

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

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

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

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

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

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

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

OptionButton
Вы можете использовать кнопку выбора, также называемую переключателем, чтобы сделать один выбор в пределах ограниченного набора взаимоисключающих вариантов. Кнопка выбора обычно содержится в групповом поле или рамке.
Кнопка выбора представлена маленьким кружком. Кнопка выбора может иметь одно из следующих двух состояний:
- Выбран (включен), обозначен точкой в круге
- Сброс (выключен), обозначается пробелом
Рамка
Вы можете использовать элемент управления кадром, также называемый групповым блоком, для группировки связанных элементов управления в один визуальный блок. Как правило, кнопки выбора, флажки или тесно связанное содержимое группируются в элементе управления фреймом.
Элемент управления фреймом представлен прямоугольным объектом с необязательной меткой.
Вставьте рамку с надписью «Выбор».
Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.
Вставьте рамку с надписью «Выбор».
Вставьте две кнопки с надписями «Да» и «Нет» в элементе управления кадром. Опции Да и Нет являются взаимоисключающими.

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

Кнопка-переключатель
Вы можете использовать кнопку переключения, чтобы указать состояние, например, Да или Нет, или режим, например, включить или выключить. Кнопка чередуется между включенным и отключенным состоянием при нажатии.
Вставьте кнопку переключения на пользовательскую форму, как показано ниже –
Перейдите на вкладку «Выполнить» на ленте.
Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.
Перейдите на вкладку «Выполнить» на ленте.
Выберите Run Sub / UserForm из выпадающего списка. По умолчанию кнопка переключения будет в активированном состоянии.

Нажмите кнопку переключения. Кнопка переключения будет отключена.
Если вы снова нажмете кнопку переключения, она будет включена.
CommandButton
Вы можете использовать командную кнопку для запуска макроса, который выполняет некоторые действия, когда пользователь нажимает на него. Вы уже научились использовать командную кнопку на рабочем листе для запуска макроса.
Командная кнопка также называется кнопкой. Вставьте командную кнопку в пользовательскую форму, как показано ниже –
- Щелкните правой кнопкой мыши на кнопке.
- Введите следующий код в sub Commandbutton1_click ().
- Перейдите на вкладку «Выполнить» на ленте.
- Выберите Run Sub / UserForm из выпадающего списка.

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

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

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

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

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

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

Отображается значок окна сообщения
Вы можете использовать значки сообщений в окне, которые изображают конкретное сообщение. У вас есть несколько значков сообщений в соответствии с вашими целями –
- Введите следующий код в ScrollBar1_scroll.
- Перейдите на вкладку «Выполнить» на ленте.
- Выберите Run Sub / UserForm из выпадающего списка.
- Перетащите поле прокрутки.
Вы получите следующие сообщения последовательно.

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