An array is a memory location capable of storing more than one value. The values must all be of the same data type. Let's say you want to store a list of your favourite beverages in a single variable, you can use an array to do that.
By using an array, you can refer to the related values by the same name. You can use an index or subscript to tell them apart. The individual values are referred as the elements of the array. They are contiguous from index 0 through the highest index value.
This tutorial assumes you are using Microsoft Excel version 2013. The knowledge still applies to other versions of Microsoft Excel as well.
In this tutorial, you will learn-
The following are some of the benefits offered by arrays
VBA supports two types of arrays namely;
For Example: Dim ArrayMonth(12) As String
For Example: Dim ArrayMonth() As Variant
Syntax for declaring arrays
Static arrays
The syntax for declaring STATIC arrays is as follows:
Dim arrayName (n) as datatype
HERE,
Code | Action |
Dim arrayName (n) datatype |
|
Dynamic arrays
The syntax for declaring DYNAMIC arrays is as follows:
Dim arrayName() as datatype ReDim arrayName(4)
HERE,
Code | Action |
Dim arrayName () datatype |
|
ReDim arrayName(4) |
|
Array Dimensions
An array can be one dimension, two dimensions or multidimensional.
We will create a simple application. This application populates an Excel sheet with data from an array variable. In this example, we are going to do following things.
Let do this exercise step by step,
Step 1 – Create a new workbook
Step 2 – Add a command button
Note: This section assumes you are familiar with the process of creating an interface in excel. If you are not familiar, read the tutorial VBA Subroutines and Functions. It will show you how to create the interface
Your GUI should now be as follows
Step 3 – Save the file
Step 4 – Write the code
We will now write the code for our application
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
HERE,
Code |
Action |
Dim Drinks(1 To 4) As String |
|
Drinks(1) = "Pepsi" |
|
Sheet1.Cells(1, 1).Value = "My Favorite Beverages." |
|
Sheet1.Cells(2, 1).Value = Drinks(1) |
|
Select the developer tab and ensure that the Design mode button is "off." The indicator is, it will have a white background and not a coloured (greenish) background. (See image below)
Click on Load Beverages button
You will get the following results
Download Excel containing above code
Summary