Работа с потребителски форми в Excel 2016 VBA

Всеки диалогов прозорец на Excel, който създавате във VBA, се съхранява в собствен обект UserForm - един диалогов прозорец на UserForm. Вие създавате и осъществявате достъп до тези потребителски форми в редактора на Visual Basic.

Вмъкване на нов потребителски формуляр

Вмъкнете обект на UserForm, като следвате тези стъпки:

Активирайте VBE, като натиснете Alt+F11.

Изберете работната книга, която ще държи потребителския формуляр в прозореца на проекта.

Изберете Вмъкване → Потребителски формуляр.

VBE вмъква нов обект UserForm, който съдържа празен диалогов прозорец.

Ето потребителска форма — празен диалогов прозорец. Вашата задача, ако решите да го приемете, е да добавите някои контроли към този потребителски формуляр.

Работа с потребителски форми в Excel 2016 VBA

Нов обект UserForm.

Добавяне на контроли към потребителски формуляр

Когато активирате UserForm, VBE показва Toolbox в плаващ прозорец. Вие използвате инструментите в кутията с инструменти, за да добавите контроли към вашия потребителски формуляр. Ако по някаква причина кутията с инструменти не се появи, когато активирате своя потребителски формуляр, изберете Изглед → Кутия с инструменти.

За да добавите контрола, просто щракнете върху желаната контрола в кутията с инструменти и я плъзнете в диалоговия прозорец, за да създадете контролата. След като добавите контрола, можете да я премествате и преоразмерявате, като използвате стандартни техники.

Ето списък на различните инструменти, както и техните възможности.

Контрол Какво прави
Етикет Показва текст
Текстово поле Позволява на потребителя да въвежда текст
ComboBox Показва падащ списък
ListBox Показва списък с елементи
CheckBox Предоставя опции като включване/изключване или да/не
OptionButton Позволява на потребителя да избере една от няколко опции; използвани в
групи от двама или повече
ToggleButton Позволява на потребителя да включва или изключва бутон
Кадър Съдържа други контроли
CommandButton Бутон с възможност за щракване
TabStrip Показва раздели
MultiPage Контейнер с раздели за други обекти
Плъзгач Позволява на потребителя да плъзга лента, за да установи настройка
SpinButton Позволява на потребителя да щракне върху бутон, за да промени стойност
Образ Съдържа изображение
RefEdit Позволява на потребителя да избере диапазон

Промяна на свойствата за контрола на UserForm

Всяка контрола, която добавяте към UserForm, има свойства, които определят как изглежда или се държи контролата. Освен това самият UserForm има свой собствен набор от свойства. Можете да промените тези свойства с подходящо наречения прозорец Properties. Това показва прозореца Properties, когато е избрана контрола CommandButton.

Работа с потребителски форми в Excel 2016 VBA

Използвайте прозорците на свойствата, за да промените свойствата на контролите на UserForm.

Прозорецът Properties се появява, когато натиснете F4, а свойствата, показани в този прозорец, зависят от това какво е избрано. Ако изберете друга контрола, свойствата се променят на подходящи за тази контрола. За да скриете прозореца Properties и да го премахнете от пътя, щракнете върху бутона Close в заглавната лента. Натискането на F4 винаги го връща, когато имате нужда от него.

Свойствата за контроли включват следното:

  • име

  • широчина

  • Височина

  • Стойност

  • Надпис

Всяка контрола има свой собствен набор от свойства (въпреки че много контроли имат някои общи свойства). За да промените свойство с помощта на прозореца Properties, следвайте тези стъпки:

Уверете се, че правилната контрола е избрана в потребителския формуляр.

Уверете се, че прозорецът Properties е видим.

В прозореца Свойства щракнете върху свойството, което искате да промените.

Направете промяната в дясната част на прозореца Properties.

Ако изберете самия UserForm (не контрола в UserForm), можете да използвате прозореца Properties, за да коригирате свойствата на UserForm.

Преглед на прозореца с код на потребителската форма

Всеки обект на UserForm има модул Code, който съдържа VBA кода (процедурите за обработка на събития), който се изпълнява, когато потребителят работи с диалоговия прозорец. За да видите кодовия модул, натиснете F7. Прозорецът Code е празен, докато не добавите някои процедури. Натиснете Shift+F7, за да се върнете към диалоговия прозорец.

Ето още един начин за превключване между прозореца на кода и дисплея на потребителския формуляр: Използвайте бутоните Преглед на код и Преглед на обект в заглавната лента на прозореца на проекта. Или щракнете с десния бутон върху потребителския формуляр и изберете Преглед на кода. Ако преглеждате код, щракнете двукратно върху името на UserForm в прозореца на проекта, за да се върнете към UserForm.

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

Показвате UserForm, като използвате метода Show на UserForm във VBA процедура.

Макросът, който показва диалоговия прозорец, трябва да е във VBA модул, а не в прозореца на кода за UserForm.

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

Sub ShowDialogBox()
  UserForm1.Show
„ Други изявления могат да отидат тук
Край под

Когато Excel покаже диалоговия прозорец, макросът ShowDialogBox спира, докато потребителят не затвори диалоговия прозорец. След това VBA изпълнява всички останали оператори в процедурата. През повечето време няма да имате повече код в процедурата. Както виждате по-късно, вие поставяте вашите процедури за манипулиране на събития в прозореца с код за UserForm. Тези процедури започват, когато потребителят работи с контролите на UserForm.

Използване на информация от потребителски формуляр

VBE предоставя име за всяка контрола, която добавяте към потребителски формуляр. Името на контролата съответства на нейното свойство Name. Използвайте това име, за да се позовавате на конкретна контрола във вашия код. Например, ако добавите контрола CheckBox към UserForm с име UserForm1, контролата CheckBox се нарича CheckBox1 по подразбиране. Можете да използвате полето Properties, за да направите тази контрола да се показва с отметка. Или можете да напишете код, за да го направите:

UserForm1.CheckBox1.Value = Вярно

През повечето време вие ​​пишете кода за UserForm в кодовия модул на UserForm. Ако случаят е такъв, можете да пропуснете квалификатора на обекта UserForm и да напишете изявлението по следния начин:

CheckBox1.Value = Вярно

Вашият VBA код може също да проверява различни свойства на контролите и да предприема подходящи действия. Следният оператор изпълнява макрос с име PrintReport, ако квадратчето за отметка (с име CheckBox1) е отметнато:

Ако CheckBox1.Value = True, тогава извикайте PrintReport

Обикновено е добра идея да промените името по подразбиране, което VBE е дал на вашите контроли, на нещо по-смислено.


Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

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

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

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

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]