Programming Concepts, Comments and Data-types
Visual Basic for application
(VBA) is a
real, live programming language, it uses many elements common to all programming languages.
In subsequent topics, we go through several of these elements:
- Comments
- Variables
- Constants
- Data types
- Arrays and few other concepts
If you’ve programmed with other languages, some of this topics will be familiar or if you’re a programming newbie, it’s time to roll up your sleeves and get busy.
Comments in VBA Code
A comment
is the simplest type of VBA statement
because VBA
ignores these statements, they can
consist of anything you want.
You can insert a comment
to
remind yourself why you did something or to clarify some particularly code you
wrote.
Use comments
liberally and extensively
to describe what the code does (which isn’t always obvious by reading the code itself).
Often, code that makes perfect sense today mystifies you tomorrow.
You begin a comment
with an apostrophe
(‘). VBA
ignores any text that
follows an apostrophe in a line of code.
You can use a complete line for your comment
or insert your comment
at the end of a line of code.
The following example shows a VBA
procedure with three comments
, although
they’re not necessarily good comments:
Sub CommentDemo()
' This procedure does nothing of value
x = 0 'x represents nothing
'Display the result
MsgBox x
End Sub
The apostrophe indicates a comment
rule has one exception.
VBA
doesn’t interpret an
apostrophe inside a set of quotation marks as a comment
indicator.
For example, the following statement doesn’t contain a comment
, even though it has an
apostrophe:
MsgBox = "Can't continue."
When you’re writing code, you may want to test a procedure by excluding a particular statement or group of statements.
You could delete the statements and then retype them later but that’s a waste of time.
A better solution is to simply turn those statements into comments
by inserting apostrophes.
VBA
ignores statements beginning with
apostrophes when executing a routine.
To reactivate those commented
statements, just remove the apostrophes.
Here’s a quick way to convert a block of statements to comments
.
In the VBE
, choose View ->
Toolbars -> Edit to display the Edit toolbar.
To convert a block of statements to comments
, select the statements and click
the Comment
Block button.
To remove the apostrophes, select the statements and click the Uncomment
Block button.
Although comments
can be helpful, not
all comments are created equal.
For example, the following procedure uses lots of comments
, but they add nothing of value.
In this case, the code is clear enough without the comments.
Sub BadComments()
' Declare variables
Dim x As Integer
Dim y As Integer
Dim z As Integer
' Start the routine
x = 100 'Assign 100 to x
y = 100 'Assign 100 to y
' Add x and y and store in z
z = x + y
' Show the result
MsgBox z
End Sub
Everyone develops his or her own style of commenting.
To be useful, however, comments
should
convey information that’s not immediately obvious from reading the code.
Otherwise, comments
just chew up bytes
and make files larger than necessary.
The following tips can help you make effective use of comments:
-
Briefly describe the purpose of each
Sub
orFunction
procedure you write. -
Use comments to keep track of changes you make to a procedure.
-
Use a comment to indicate that you’re using a function or a construct in an unusual or nonstandard manner.
-
Use comments to describe the variables you use, especially if you don’t use meaningful variable names.
-
Use a comment to describe any workarounds you develop to overcome bugs in your code.
-
Write comments as you develop code, instead of saving the task for a final step.
-
Depending on your work environment, consider adding a joke or two as a comment. The person who takes over your job when you get promoted might appreciate the humour.
Data types in VBA
When I talk about data type
, I’m
referring to the manner in which a program stores data in memory - for example, as integers
, real numbers
, or strings
.
Although VBA
can take care of these
details automatically, it does so at a cost (There’s no free lunch).
Letting VBA
handle your data typing
results in slower execution and inefficient memory use.
For small applications, this usually doesn’t present much of a problem.
But for large or complex applications, which may be slow or need to conserve every last
byte of memory, you need to be on familiar terms with data types
.
VBA
automatically handles all the
data details, which makes life easier for programmers.
Not all programming languages provide this luxury.
For example, some languages are strictly typed, which means the programmer must explicitly define the data type for every variable used.
VBA
does not require that you declare
the variables that you use, but it’s definitely a good practice.
VBA
has a variety of built-in data
types. Below table lists the most common types of data that VBA can handle.
VBA’s Built-In Data Types | ||
---|---|---|
Data Type | Byte used | Range of values |
Boolean | 2 | True or False |
Integer | 2 | –32,768 to 32,767 |
Long | 4 | –2,147,483,648 to 2,147,483,647 |
Single | 4 | –3.402823E38 to 1.401298E45 |
Double (negative) | 8 | –1.79769313486232E308 to –4.94065645841247E-324 |
Double (positive) | 8 | 4.94065645841247E–324 to 1.79769313486232E308 |
Currency | 8 | –922,337,203,685,477.5808 to 922,337,203,685,477.5807 |
Date | 8 | 1/1/100 to 12/31/9999 |
String | 1 per char | varies |
Object | 4 | Any defined object |
Variant | Varies | Any data type |
User defined | Varies | Varies |
Next post will be about VBA Variables.