Enter Vba Code In Excel

In today’s example we’ll introduce data entry with the help of the UserForm. Using UserForm can considerably improve the interaction with our users. Furthermore this way we can assist them to execute particular steps.

  1. Insert Vba Code To Excel Workbook
  2. Where To Enter Vba Code In Excel
  3. How To Enter Vba Code In Excel 365
  4. Insert Vba Code In Excel 2016
  1. You can use the InputBox function in Excel VBA to prompt the user to enter a value. Place a command button on your worksheet and add the following code lines: 1. First, declare the variable myValue of type Variant. Dim myValue As Variant. Note: we use a variable of type Variant here because a Variant variable can hold any type of value.
  2. Re: Vba code to enter password. The following was converted from C# and works in 32 bit versions of Office only. As mentioned, the password dialogue is application modal, so (this version) of the code must be run from a separate instance of Excel, this does not mean it only works in that instance of Excel, it will search all open windows to find one (or the first!) with 'VBAProject.
  3. Quickly learn how to create input boxes (with both the InputBox function and the Application.InputBox method) using macros with this step-by-step tutorial. Includes 9 easy-to-adjust practical code examples you can use right now.

How to write VBA code (Macros) in Excel? To write VBA code in Excel open up the VBA Editor (ALT + F11). Type 'Sub HelloWorld', Press Enter, and you've created a Macro! OR Copy and paste one of the procedures listed on this page into the code window. What is Excel VBA? VBA is the programming language used to automate Excel.

They play a very important role in the automatization of Excel. In these days none of the business dashboards can be imagined without Form Controls.

Let’s say a few words about today’s task. At times data entry can be very boring and by this can incline users to mistakes. We’ll design a form that based on three data (Name, Age, Job title) will upload a “database”.

Exactly as you can see on the picture below!

What can exactly be seen on the picture?

Three label, three text fields. And another thing, the Command Button. We’ll assign to this a simple macro that will store input data.

[adinserter block=”2″]

How to create a UserForm to aid data entry?

Let’s start! The first step is to enter the Visual Basic Editor form the ribbon or by pressing the Alt+F11 buttons.

Open the VBA Editor. If the Project Explorer is not visible, click View, Project Explorer. Click Insert, and select the Userform.

After this place the fields and their names onto this form.

Now insert the names of the fields by clicking on the Label Control button:

As next step follow the TexBox belonging to the names. This option enables the data insertion.

Change any elements and attributes of our form by right-clicking on them and then choose the Properties window.

As next step we have the option for example to set the fonts, size and colors.

We can be all creative regarding the designs. We can make any kind we’d like or what we need for a given task.

Now we will place another button on this form. The purpose of this is to fix the given data on one Excel table.

Excel

We do this by inserting the CommandButton from the Controls:

Let’s see what the data entry form looks like now:

The user interface is ready! Data input will be a lot easier from now on. But we still have one very important thing to do.

Because for the next step we have to determine the code behind it.

In this example this would run by clicking on the “Add to list” button.

Let’s right click the CommandButton.

From the drop down menu choose the View Code command. In the next chapter we’ll show how to assign a short VBA code to this.

Adding Logic to Button in a Form

Let’s clear what do we expect from the code after clicking on the button?

Insert vba code to excel workbook

Our expectation will be that it inserts the values of the UserForm into the determined cells of the determined rows.

For this we have to know where the next empty line in the table is.

After the insertion we have to equal the appropriate cells to the input values of the appropriate fields.

To begin let’s define two variables.

The first one with Integer type by the name rw to determine the current, still empty rows.

The second one by the name ws and with type Worksheet.

This will determine which worksheet our form will refresh / update the cells.

We can already set the calues of the latter variable onto Sheet1.

Use the Range Find method to determine the starting value of our rw variable.

In our case we have to use the ws.Cells.Find method, because we are looking amongst the cells of Sheet1 that contains anything (What:=”*”).

We search by rows (SearchOrder:=xlRows) for the row containing the last (SearchDirection:=xlPrevious) value (LookIn:=xlValues).

Than we add one to this number to find the first empty row:

rw = ws.Cells.Find(What:=”*”, SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

And from this point on our task is basically easy.

The written value in the field must be equal with the rw variable. We store the number of the cells in the rw variable.

We can find out the names of our fields from the UserForm Properties window in case we did not use standard names for them.

Therefore, ws.Cells(rw, 1).Value (this is the cell of Sheet1 first empty row in the first column) be equal to Me.TextBox1.Value which is the value was given into our first field.

Me always refers to the parent object that we “have” our code.

In this case it refers to UserForm, but if we was to write our code on a Sheet, that it would refer to that.

Create User-Feedback MessageBox

Here might be subservient to inform the user what happened to the input data, so with the help of the MsgBox command we can write a massage out for him.

At this time on the popup massage window there should be only one OK button (vbOKOnly parameter) but of course with the help of the other parameters of the MsgBox we can tune this to our liking.

MsgBox “Stored!”, vbOKOnly

If it is done we can delete the input values from our fields. We can do this because they are already in the appropriate cells.

The solution is easy:

We make the value of the Me.TextBox1.Value equal to nothing.

After this is useful to bring back the cursor to the first field with the help of the SetFocus parameter.

Insert Vba Code To Excel Workbook

Error handling – How can we do this?

Basically we have to endeavor to write the codes with minimal possible errors.

For this it is useful to insert an “If” branching so in case of empty cells the UserForm will do nothing. Our goal is to only store the data if all the cells / fields are filled out! The following short code will alert the user for insufficient data.

Simply turn our thoughts to the code, namely

1. Put (If) after the removal of spaces (Trim)
2. Values of the first fields (Me.TextBox1.Value)
3. Equal to nothing (= “”)
4. then (Then)
5. write a massage (MsgBox “Please fill the field!”),
6. then exit (Exit Sub)
7. and with this we can close the “If” branching (End If).

The VBA code:

Excel

What else is there left to do? To determine how to start the UserForm.

Where To Enter Vba Code In Excel

Here we can set events or key-combinations also.

In our example we choose the simplest solution. We assign the startup of the code to a CommandButton.

Under the Ribbon Developer tab the Controls section can be found.

Let’s insert a button with the help of the Insert command:

By double clicking on the button in Desingn Mode we get over to the Visusal Basic Editor.

We only need to show the UserForm named by us DataEntryForm command for the “Click” event.

Here is the code snippet:

And we are done!

After clicking on the button the UserForm opens. After filling this out the data gets into the appropriate cells.

Conclusion:

Our today’s data input showcase example was a very simplified task.

But it was perfect or us to demonstrate: It is worth to use Excel for serious tasks and the VBA help us to create interactive form for excel dashboard.

We hope you got into the mode for VBA programming. We recommend that everyone start building their own little project! Download the VBA example!

Related articles:

  • Great macro collection to learn vba from scratch!
  • Create dynamic VBApresentation
-->Enter

Runs a specified procedure when a particular key or key combination is pressed.

Syntax

expression.OnKey (Key, Procedure)

expression A variable that represents an Application object.

Vba code for enter key in excel

Parameters

NameRequired/OptionalData typeDescription
KeyRequiredStringA string indicating the key to be pressed.
ProcedureOptionalVariantA string indicating the name of the procedure to be run. If Procedure is ' (empty text), nothing happens when Key is pressed. This form of OnKey changes the normal result of keystrokes in Microsoft Excel.
If Procedure is omitted, Key reverts to its normal result in Microsoft Excel, and any special key assignments made with previous OnKey methods are cleared.

Remarks

The Key argument can specify any single key combined with Alt, Ctrl, or Shift, or any combination of these keys. Each key is represented by one or more characters, such as a for the character a, or {ENTER} for the Enter key.

To specify characters that aren't displayed when you press the corresponding key (for example: Enter or Tab), use the codes listed in the following table. Each code in the table represents one key on the keyboard.

KeyCode
BACKSPACE{BACKSPACE} or {BS}
BREAK{BREAK}
CAPS LOCK{CAPSLOCK}
CLEAR{CLEAR}
DELETE or DEL{DELETE} or {DEL}
DOWN ARROW{DOWN}
END{END}
ENTER (numeric keypad){ENTER}
ENTER~ (tilde)
ESC{ ESCAPE} or {ESC}
HELP{HELP}
HOME{HOME}
INS{INSERT}
LEFT ARROW{LEFT}
NUM LOCK{NUMLOCK}
PAGE DOWN{PGDN}
PAGE UP{PGUP}
RETURN{RETURN}
RIGHT ARROW{RIGHT}
SCROLL LOCK{SCROLLLOCK}
TAB{TAB}
UP ARROW{UP}
F1 through F15{F1} through {F15}

You can also specify keys combined with Shift and/or Ctrl and/or Alt and/or Command. To specify a key combined with another key or keys, use the following table.

To combine keys withPrecede the key code by
Shift+ (plus sign)
Ctrl^ (caret)
Alt% (percent sign)
Command* (asterisk) Only applies to Mac; may only work on Excel 2011 for Mac and not later versions.

To assign a procedure to one of the special characters (+, ^, %, and so on), enclose the character in braces. For details, see the example.

Note

There is no way to currently detect the Command key in recent versions of Office VBA. Microsoft is aware of this and is looking into it.

Example

This example assigns InsertProc to the key sequence Ctrl+Plus Sign, and assigns SpecialPrintProc to the key sequence Shift+Ctrl+Right Arrow.


This example returns Shift+Ctrl+Right Arrow to its normal meaning.


How To Enter Vba Code In Excel 365

This example disables the Shift+Ctrl+Right Arrow key sequence.

Support and feedback

Insert Vba Code In Excel 2016

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Comments are closed.