Beruflich Dokumente
Kultur Dokumente
Home
About
Ads by Google
Excel Tip
Excel VBA
Page 1 of 13
MS Excel
Videos Excel
Books
Excel Macro
Training
Consulting
Forum
Excel Help
Version
High
End
.NET
Charting
Component w/ Support
It uses a selection of controls including text boxes, combo boxes,
option buttons grouped in a frame, check boxes and command For All Chart Types Now!
buttons.
www.DotNetCharting.com
When the user clicks the OK button their input is entered into the
next available row on the worksheet.
Internet Explorer 8
Pace up your internet browsing with IE8.
Download for Free NOW !
Microsoft.com/India/Download/IE8
There are two simple text boxes (Name: and Phone:) into which
the user can type free text, and two combo boxes (Department
and Course) that let the user to pick an item from the list.
easy10seconds.com
There are two check boxes (Lunch Required and Vegetarian) that, because they are not grouped in a frame, can both be
if required. However, if the person making the booking does not want lunch we do not need to know whether or not they are
vegetarian. So, the Vegetarian check box is greyed-out until required.
There are three command buttons (OK, Cancel and Clear Form) each of which performs a pre-defined function when clicked.
The Control Properties Settings:
Control
Type
Property
Setting
UserForm
UserForm
Name
frmCourseBooking
Caption
Name
Text Box
Name
txtName
Phone
Text Box
Name
txtPhone
Department
Combo Box
Name
cboDepartment
Course
Combo Box
Name
cboCourse
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Level
Frame
Page 2 of 13
Name
fraLevel
Caption
Level
Introduction
Option Button
Name
optIntroduction
Intermediate
Option Button
Name
optIntermediate
Advanced
Option Button
Name
optAdvanced
Lunch Required
Check Box
Name
chkLunch
Vegetarian
Check Box
Name
chkVegetarian
Enabled
False
Name
cmdOk
Caption
OK
Default
True
Name
cmdCancel
Caption
Cancel
Cancel
True
Name
cmdClearForm
OK
Command Button
Cancel
Clear Form
Command Button
Command Button
In the Visual Basic Editor click the Insert UserForm button (or go to Insert > UserForm).
3. If the toolbox does not appear by itself (first click the form to make sure it isnt hiding) click the Toolbox button (or
View > Toolbox).
4. To place a control on the form click the appropriate button on the toolbox then click the form. Controls can be moved by
dragging them by their edges, or resized by dragging the buttons around their perimeter.
5.
To edit the properties of a control, make sure the chosen control is selected then make the appropriate changes in the
Properties window. If you cant see the properties window go to View > Properties Window.
6.
To remove a control from the form, select it and click the Delete key on your keyboard.
A UserForm will not actually do anything until the code that drives the form and its various controls is created. The next step is to
write the code that drives the form itself.
To view the forms code window go to View > Code or click F7.
2. When the code window first opens it contains an empty UserForm_Click() procedure. Use the drop-down lists at the top of
the code window to choose UserForm and Initialize. This will create the procedure you need. You can now delete the
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 3 of 13
UserForm_Click() procedure.
3.
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 4 of 13
.AddItem "Marketing"
(as many as necessary)
End With
cboDepartment.Value = ""
If required an initial choice can be made from the option group, in this case:
optIntroduction = True
Both check boxes are set to False (i.e. no tick). Set to True if you want the check box to appear already ticked:
chkLunch = False
chkVegetarian = False
Finally, The focus is taken to the first text box. This places the users cursor in the text box so that they do not need to click the
box before they start to type:
txtName.SetFocus
The code for closing a form is very simple. Add a line of code to the procedure so it looks like this:
Double-click the OK button. The form's code window opens with the cmdOK_Click() procedure ready for editing.
2.
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 5 of 13
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 6 of 13
ActiveWorkbook.Sheets("Course Bookings").Activate
Range("A1").Select
The next few lines moves the selection down the worksheet until it finds an empty cell:
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
The next four lines start to write the contents of the form on to the worksheet, using the active cell (which is in column A) as a
reference and moving along the row a cell at a time:
ActiveCell.Value = txtName.Value
ActiveCell.Offset(0, 1) = txtPhone.Value
ActiveCell.Offset(0, 2) = cboDepartment.Value
ActiveCell.Offset(0, 3) = cboCourse.Value
Now we come to the option buttons. These have been placed in a frame on the form so the user can choose only one. An IF
statement is used to instruct Excel what to for each option:
If optIntroduction = True Then
ActiveCell.Offset(0, 4).Value = "Intro"
ElseIf optIntermediate = True Then
ActiveCell.Offset(0, 4).Value = "Intermed"
Else
ActiveCell.Offset(0, 4).Value = "Adv"
End If
VBA IF statements are much easier to manage than Excel's IF function. You can have as many options as you want, just insert
an additional ElseIf for each one. If there were only two options, you wouldn't need the ElseIf, just the If and Else would suffice
(don't forget - they all need an End If).
There is another IF statement for each check box. For the Lunch Required check box, a tick in the box means "Yes" the person
requires lunch, and no tick means "No" they don't.
If chkLunch = True Then
ActiveCell.Offset(0, 5).Value = "Yes"
Else
ActiveCell.Offset(0, 5).Value = "No"
End If
We could use a similar IF statement for the Vegetarian check box, but if the person does not require lunch it is irrelevant whether
or not they are vegetarian. I any case, it would be wrong to assume that they were not vegetarian simply because they did not
require lunch. The IF statement therefore contains a second, nested if statement:
If chkVegetarian = True Then
ActiveCell.Offset(0, 6).Value = "Yes"
Else
If chkLunch = False Then
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 7 of 13
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 8 of 13
Book Store:
Accounting books
Business Plans
MS Office books
Taxes books
Recommended Books:
Excel 2002 For Dummies
Special Edition Using Microsoft Access
2002
The South Beach Diet: The Delicious,
Doctor-Designed, Foolproof Plan for Fast
and Healthy Weight Loss
Fish! A Remarkable Way to Boost Morale
and Improve Results
The Total Money Makeover. : A Proven
Plan for Financial Fitness
How to Read A Financial Report
Email Tip
Print Tip
Add to My Tips
Views: 959376
vrey good!!!
Leandro
i liked so much this example, its easy to learn...here in Brazil is difficult to find
good examples about Vba for Excel.
Im so thankfull..
Really Good!!
Masum
A very easy to understand tutorial, well written and comprehensive in what it
does. I would have liked to have read some stuff on TabStrips and multipages
though. Or am I being greedy? :)
Date Formating with User Forms
Don Foley
How do I specify a particular Date format. I have a text box on the userform
where the user is prompted to enter a date in a particular format ie dd/mm/yy.
How do I code and where, to ensure the spreadsheet that the userform
updates displays the same format. I have set the System settings to display
this format. When I enter the date on the Form in the manner I mention it
displays mm/dd/yy on the spread sheet. I would always enter a date in the
format dd/mm.
By the way. I have used your Form instructions above to create a greatly
expanded UserForm and even having bought a couple of books on VBA
since, I find myself refering back to your instructions for their clarity time and
time again.
One thing I meant to mention in previous posts is that in the example above
you must make an entry in the first box on the form otherwise the spreadsheet
data will be over written. In other words you must make an entry in the
TextBox, or whatever, that writes to "A1"/first empty cell in column A on the
spreadsheet. I have gotten around this by using an if statement which
prompts for input and wont allow the form to close and update the
spreadsheet until the user makes an entry in this field.
Date Formating with User Forms
Don Foley
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 9 of 13
How do I specify a particular Date format. I have a text box on the userform
where the user is prompted to enter a date in a particular format ie dd/mm/yy.
How do I code and where, to ensure the spreadsheet that the userform
updates displays the same format. I have set the System settings to display
this format. When I enter the date on the Form in the manner I mention it
displays mm/dd/yy on the spread sheet. I would always enter a date in the
format dd/mm.
By the way. I have used your Form instructions above to create a greatly
expanded UserForm and even having bought a couple of books on VBA
since, I find myself refering back to your instructions for their clarity time and
time again.
One thing I meant to mention in previous posts is that in the example above
you must make an entry in the first box on the form otherwise the spreadsheet
data will be over written. In other words you must make an entry in the
TextBox, or whatever, that writes to "A1"/first empty cell in column A on the
spreadsheet. I have gotten around this by using an if statement which
prompts for input and wont allow the form to close and update the
spreadsheet until the user makes an entry in this field.
help please
timbo27
I built a userform, I initialized the userform, I coded the userform...all thanks to
the advice above.
But how do you show the form on the desktop and when I close and re
the file....ALL MY WORK IS GONE !!!
Any ideas ??
casino calibaro
Jeniffer
A great site where one can enjoy the thought of a great mind long departed.
Cheers for the good work!
mohigan sun casino
Jeniffer
A great site where one can enjoy the thought of a great mind long departed.
Cheers for the good work!
Great Tutorial
Will
I've built forms and such in VB and in Access but never in Excel. This is a
great tutorial!
Great Tutorial
Will
I've built forms and such in VB and in Access but never in Excel. This is a
great tutorial!
XML Search
Marko
Hi. Beautiful content and website design. Sorry for my english. I am from
albania.
Gambling Online 2006
Bill
Greetings to all! Excuse for this message, but at you excellent design of a
site! Very much it was pleasant to me, I shall come here very often!
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 10 of 13
Cool Stuff!
Manoj
This is really a cool stuff for the beginners in VBA. It is really help. If possible
please provide with some more examples with validation logics that would be
great.
Thanks,
Manoj
one problem
waz
if you leave the first field blank, another entry overwrites the last entry
Gr8
Ash
thankyou very much for this helped alot
Nice
Yen
Now, why can't all tutorials be like this!!!????? simple, to the point, and
USEFUL!!!!!!!!!!!!!
thanks
Its Wrong
Jerry Francis
If IsEmpty(ActiveCell) = FalseThen
When I copy and paste this it had a error. also up at the top the list the
properties. you should add this captions Clear Form. here is what you
Clear Form
Command Button
Name
cmdClearForm
Thanks it all worked fine
Very Good
Frank
This site is very good. There are many others that just barely scratch the
surface. Many books leave out important stuff or say a lot of nothingness.
Thanks a bundle.
Frank
run-time error '2110'
WillC
Can't move focus to the control because it is invisible, or not enabled, or of a
type that does not accept the focus.
Debug walks through Private Sub UserForm_Initialize() to Private Sub
UserForm_Initialize() before this error.
Great Stuff
Greg Northover
This is really good for us beginners... I learnt a lot from this example(I first
came across it 12 months ago) I
still refer back to this example because it simplifies how to set up a user form.
(would like to see a future version including the option buttons as well)
thanks to people who supplied this.... Great Stuff!!!
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 11 of 13
Great!!
crey
Exactly what I needed.....told me how and showed me how....Perfect....you
should create one for using macromedia programs.
good article
anmol KHANNA
Would be good to add listbox example and datagrid example
Gary
Wonderful example...thanks!!!
Excellent
Sumit
This article is superub for newcomers.It showed me that what I wanted to
learn
Cool Stuff
Sumant alias bhaiji
I really liked ,if u cud tell us more of those types of examples?can u
Great stuff
patrick
Just what i was looking for, helps me on the way to my first own made sheet!
A great example, simple , but with enough explaination to get me started.
Thanks a lot!
Great stuff, but ...
Kim SJ
I would love you to point to all the sources of information one needs to be able
to extend it. For example, what other special Subs are there (_click, _initialise,
etc.). And where does one find the information about this?
K.
Alfapharm
Alfapharm
I think your site is very good and complete, but the information you have here.
Cheap meds for You!
Plimnaz
Plimnaz
Nice site guys.. didnt have a chance to meet you guys at the conference but
hope to see you guys in bing in the near future. stay up.
Widovic
Widovic
Your post very interesting, on it is what is not present on other sites.
cheap viagra
cheap viagra
Good site, men. Thank you!
See U. Elena.
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 12 of 13
wcmdr
wcmdr
I like this site! Owner you are the great man!
http://hcpsv.pop-search.ru
http://fmob.pop-search.ru
http://zmmue.pop-search.ru
http://hwuwu.pop-search.ru
http://alntt.pop-search.ru
End ^) See you
just wanna ask
rei
is there any codes availabe for searching a specific record and presenting it in
the form
History of the USA
Max
History Happens is a collection of music videos about characters from
American history. Our goal is to inform and inspire young people that an
individual can make a difference-as evidenced by the many acts of courage,
endurance and passion that make up the American story.
Great Example
Jai
Hi !
I tried this example and its working fine.
Its really appreciatable. Keep posting more samples.
Take Care
Jai
For Guest
Name
Comment Title
Comments
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010
Page 13 of 13
Copyright 2003 ExcelTip.com Microsoft, Microsoft Excel is a U.S. registered trademark of Microsoft
http://www.exceltip.com/st/Create_User_Forms_in_Microsoft_Excel/629.html
4/16/2010