
Tips.Net > WordTips Home > Creating Macros > Variables > Declaring Variables
Summary: Declaring variables in a macro is good programming practice. Here’s how to do it and how to make sure they are all declared. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)
If you have ever programmed any macros, you are probably familiar with how you define variables using the Dim keyword. For instance, you can define an integer variable with the name MyVar as follows:
Dim MyVar As Integer
This is very straightforward, and will work fine in your code. You may be tempted to define multiple variables per line, however:
Dim x, y, z As Integer
In some versions of the BASIC language, this will define and initialize three variables, each as an integer. In VBA it also appears to run properly, and no error is generated. However, there is a small problem—only the last variable (z) is actually defined as an integer. You can see how this works by using the following code:
Sub DimTest()
Dim x, y, z As Integer
MsgBox "x is type " & VarType(x)
MsgBox "y is type " & VarType(y)
MsgBox "z is type " & VarType(z)
End Sub
When you run the macro, the first two message boxes that pop up show that the variable type for x and y are 0, which means uninitialized. Only the last message box (for z) shows a variable type of 2, meaning an integer.
The solution is to make sure that you declare your variables one per line, or using the full syntax for each variable, as in the following:
Dim x As Integer, y As Integer, z As Integer
Tip #731 applies to Microsoft Word versions: 97 2000 2002 2003 2007
Ultimate Library! An amazing resource that brings together, in one place, the collected knowledge of everything ever published in WordTips. The library combines two powerful elements to make you more productive: solutions and convenience. Here's where you get your own copy of everything ever published in WordTips.
Check out WordTips Ten-Year Library today!
Thousands of WordTips, available for immediate download. Have all the Microsoft Word info you need, right at your fingertips. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips