Variable Data Types

     

The data type of a variable determines the kind of data the variable can hold. You specify a data type by including the As keyword in a Dim statement. Here is the general syntax:

 Dim  variableName  As  DataType  

variableName is the name of the variable and DataType is one of the data types. Here's a rundown of the most useful VBA data types:

String ” This type holds strings , which are simple text values. Here's a sample declaration and an assignment statement (note the use of quotation marks in the assignment statement value; this tells VBA that the value is a string):

 Dim newFileName As String newFileName = "Budget Notes.doc" 

Date ” This type holds date values, which refer to dates and/or times. Here are a few examples (note the use of the # character around the values; this tells VBA that the values are dates and/or times):

 Dim myBirthDate As Date Dim myBirthTime As Date Dim anotherDate As Date myBirthDate = #8/23/59# myBirthTime = #3:02 AM# anotherDate = #4/27/04 16:05# 

Integer ” This type holds integer values, which VBA defines as whole numbers between “32,768 and 32,767. Here's an example:

 Dim paragraphNumber As Integer paragraphNumber = 1 

Long ” This type holds long integer values, which VBA defines as whole numbers between “2,147,483,648 to 2,147,483,647. Here's an example (note that you don't include commas in numbers that would normally use one or more thousands separators):

 Dim wordCount As Long wordCount = 100000 

Boolean ” This type holds Boolean values, which take one of two values: True or False. Here's an example:

 Dim documentSaved As Boolean documentSaved = False 

Currency ” This type holds monetary values. The value range is from “922,337,203,685,477.5808 to 922,337,203,685,477.5807.

graphics/note_icon.gif

Double values often use exponential notation , such as the value 2.0E+79 used in the Double example. A positive number, say X , after the E symbol means that you move the decimal point X positions to the right to get the actual number. So, for example, 2.0E+3 is the same thing as 2000. A negative number, say “ X , after the E means that you move the decimal point X positions to the left. So 3.14E-4 is the equivalent of 0.000314.


Single ” This type holds single-precision floating point values, which are numbers that have a decimal component. Here's an example:

 Dim averageUnitSales As Single averageUnitSales = 50.3 

Double ” This type holds double-precision floating point , which can accommodate much larger or smaller numbers than the Single type. Note, however, that the range available with the Single type should be more than enough for your VBA macros, so you'll probably never use the Double type. Here's an example:

 Dim atomsInTheUniverse As Double atomsInTheUniverse = 2.0E+79 

Here are a few notes to keep in mind when using data types:

  • If you don't include a data type when declaring a variable, VBA assigns the Variant data type. This enables you to store any kind of data in the variable. However, this isn't a good idea because Variant variables use more memory and are much slower than the other data types. Therefore, always give your variables a specific data type.

  • If you declare a variable to be one data type and then try to store a value of a different data type in the variable, VBA will often display an error. For example, if you declare a variable using the Single type and you try to assign a value that's outside the Single type's allowable range, VBA will display an "Overflow" error message when you attempt to run the procedure.

  • To specify the data type of a procedure argument, use the As keyword in the argument list. For example, the following Function statement declares variables x and y to be Single :

     Function HypotenuseLength(x As Single, y As Single) 
  • To specify the data type of the return value for a Function procedure, use the As keyword at the end of the Function statement:

     Function HypotenuseLength(x, y) As Single 


Absolute Beginner's Guide to VBA
Absolute Beginners Guide to VBA
ISBN: 0789730766
EAN: 2147483647
Year: 2003
Pages: 146

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net