В тази статия ще научите основите на потребителските форми на VBA. Ще обясня как да създам формуляр в excel, как да използвам VBA инструментариума, как да боравя с потребителските входни данни и накрая как да съхранявам потребителските входни данни. Ще преминем през тази тема, като използваме един пример и стъпка по стъпка ръководство. Ако четете това, предполагам, че знаете основите на Excel VBA.
Без допълнително забавяне, нека започнем.
Създайте формуляр за инвестиция в Excel и съхранявайте записи
Ще започнем с проектирането на потребителската форма. В тази потребителска форма ще имаме едно текстово поле за име, едно за възраст, едно за размер на инвестицията и чифт радио бутони за пол. Нека започнем.
Проектирайте потребителската форма
- Отворете визуалния основен редактор в Excel, като използвате клавишната комбинация ALT+F11. В Project Box щракнете с десния бутон върху VBAProject(вашия файл). В вмъкване опция, изберете UserForm.
- Веднага ще бъде създадена нова папка и вашата потребителска форма ще бъде намерена тяхната. Всички потребителски форми за този проект ще бъдат добавени в тази папка.
- Променете името на формуляра на InvestmentForm в имотна кутия.
- Добавете елементи към формата: В горното изображение вече добавих елементи (етикети, текстово поле, команден бутон). Новата потребителска форма е напълно празна. Трябва да използвате кутия с инструменти, за да добавите елементи към формуляра си. Ако не виждате инструментариума, вземете го от изглед раздел.
- Име на елементи: Текстовото поле, етикетите, бутоните и т.н. всички са елементи. И за да ги използваме във VBA код, трябва да им дадем имена. Използваме прозореца за свойства, за да променим името им.
- Изберете елемента. Тук избирам текстовото поле за име. Отидете в прозореца за свойства и променете името на „NameBox”. Направете същото за всеки елемент, който ще използвате. (не е необходимо да назовавате етикети, освен ако не искате те да могат да се кликват.)
Кутията със свойства се показва в долния ляв ъгъл на изследователя на проекта. Ако не можете да го видите, отидете да видите и кликнете върху Прозорец за свойства. Ще го използваме много, затова се уверете, че го има. Използва се за оформяне, именуване и персонализиране на формуляри.
Добавете етикети, като използвате инструментариум за описателни имена. Добавете текстово поле за въвеждане от потребителя.
Добавете два бутона за избор и ги наречете Мъжки и Женски.
Използвал съм рамка, за да ги капсулирам, но не е необходимо.
Добавете командни бутони Изпращане и отмени за извършване на операция върху даден вход.
Преименувах елемента, както е показано по -долу, и ще използвам тези имена, за да се позова на тях. Можете да имате различни имена. Просто заменете тези имена с вашето име. Това са VBA имена (кодово име), които ще се използват в кода. Те няма да бъдат отразени във формата.
Текстът, който можете да видите на етикетите и бутоните, е „Надписи“. Името и надписът на елемента могат да бъдат еднакви, ако искате.
Елемент | Преименувайте |
Текстово поле за име | NameBox |
Текстово поле за възраст | AgeBox |
Мъжки бутон за опция | MaleOption |
Бутон за женска опция | FemaleOption |
Инвестиционно текстово поле | InvestBox |
Изпратете командния бутон | SubmitButton |
Бутон за отмяна на командата | Бутон за отмяна |
- Показване на потребителски формуляр на потребителя: Сега формулярът е готов, нека го покажем на потребителя. Но изчакайте, как да го направя. В работния лист няма опция за извикване на потребителска форма.
- На работен лист отидете в раздела за програмисти? Вмъкване? Бутон (контрол на формуляра). Преименувайте го на отворена форма.
- Щракнете с десния бутон върху него. Кликнете върху присвояване на макрос и след това върху ново.
- Подвод ще бъде създаден незабавно. Сега добавете този ред към този под.
Всъщност потребителската форма се нуждае от задействане. Тя не може да бъде показана сама по себе си. Можете да използвате команден бутон, подпрограма или събитие, за да направите изскачащата форма на екрана.
Тук ще използвам команден бутон за задействане на потребителска форма.
Sub Open_Form () 'Форма за отваряне InvestmentForm.Show End Sub
Това е направено. Върнете се към този лист и кликнете върху бутона. Потребителската форма ще се появи.
- Попълнете листа, използвайки VBA потребителски формуляр: Когато щракнахме върху командния бутон (отворена форма), формулярът изскача. Сега можете да попълните формуляра. Но когато кликнете върху бутона за изпращане, данните трябваше да бъдат въведени в този лист, но нищо не се случва.
Защото не сме написали никакви vba инструкции за това. Трябва да съхраняваме данните на потребителски формуляр в лист.
- Върнете се към VBA и щракнете двукратно върху Изпращане бутон. Нова подкана ще бъде създадена автоматично. Този подводник е вграден във формуляра и не можете да го намерите в нито един модул. Това е същото за всеки елемент от формата.
- Напишете този vba код в този под.
Private SubmitButton_Click () Sheet 1. Активирайте „get first empty row on sheet (прочетете за това тук) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Set firstEmptyRow = Range (" A "& lstrow + 1 ) 'инициализирайте всяка клетка с данни firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' първа клетка firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'първа клетка вдясно firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'трета клетка вдясно' проверява радио бутона Ако MaleOption.Value = True Тогава firstEmptyRow.Offset (0, 2) .Value = "Male" 'втора клетка вдясно Друго firstEmptyRow.Offset ( 0, 2) .Value = "Female" 'втора клетка вдясно End If' Затваряща форма Unload Me End Sub
Горният фрагмент от VBA код се изпълнява, когато се кликне върху бутона за изпращане. Той намира първия празен ред на листа и го запълва със стойности, предоставени във форма. И в крайна сметка затваря формуляра с помощта на команда „Unload Me“.
- Използвайте командата Cancel, за да затворите формуляра. Засега бутонът за отмяна е безполезен. Не прави нищо. В случай, че ако искате да прекъснете въвеждането, можете да използвате бутона за отмяна. В този случай:
Щракнете двукратно върху командния бутон за отмяна в редактора на VBA. Ще бъде създаден нов подводник. Просто напишете този ред код, за да затворите потребителската форма.
Private Sub CancelButton_Click () 'Затваряща форма Unload Me End Sub
Накрая кодът на формуляра ще изглежда така.
И това е. Ето как използвате потребителската форма на excel vba, за да получите информация от потребителите. В тази статия току -що проучихме основната употреба на userform, така че да се запознаете с нея. Това е просто, ако имате познания по основни vba.
В бъдещи статии ще изследваме по -разширени функционалности на потребителските форми на vba в Excel. Ще създадем потребителска форма в Excel, за да направим много повече. Ще изследваме различни инструменти и елементи, достъпни за vba userform. Дотогава практикувайте това. Можете да изтеглите този файл за справка, ако искате.
Така че да, момчета, това беше малък и прост урок за потребителска форма. Надявам се да е било изобретателно. Кажете ми, ако имате някакви съмнения относно това, уведомете ме в секцията за коментари по -долу.
Свързани статии
Променете стойността/съдържанието на няколко контроли на UserForm с помощта на VBA в Excel
Предотвратете затварянето на потребителска форма, когато потребителят кликне върху бутона x, като използва VBA в Excel
Върнете клетките, посочени от потребителя, като използвате контрола RefEdit на потребителската форма в Excel
Популярни статии:
Функцията VLOOKUP в Excel
COUNTIF в Excel 2016
Как да използвате функцията SUMIF в Excel