VBA Columns
Last Updated :
-
Blog Author :
Edited by :
Reviewed by :
Table Of Contents
Excel VBA Columns Property
VBA Columns property is used to refer to columns in the worksheet. Using this property we can use any column in the specified worksheet and work with it.
When we want to refer to the cell, we use either the Range object or Cells property. Similarly, how do you refer to columns in VBA? We can refer to columns by using the “Columns” property. Look at the syntax of COLUMNS property.
Table of contents
We need to mention the column number or header alphabet to reference the column.
For example, if we want to refer to the second column, we can write the code in three ways.
Columns (2)
Columns(“B:B”)
Range (“B:B”)
Examples
Example #1
If you want to select the second column in the worksheet, then first, we need to mention the column number we need to select.
Code:
Sub Columns_Example() Columns (2) End Sub
Now, put a dot (.) to choose the “Select” method.
One of the problems with this property is we do not get to see the IntelliSense list of VBA.
Code:
Sub Columns_Example() Columns(2).Select End Sub
So, the above VBA code will select the second column of the worksheet.
Instead of mentioning the column number, we can use the column header alphabet “B” to select the second column.
Code:
Sub Columns_Example() Columns("B").Select Columns("B:B").Select End Sub
The above codes will select column B, i.e., the second column.
Example #2 - Select Column Based on Variable Value
We can also use the variable to select the column number. For example, look at the below code now.
Code:
Sub Columns_Example() Dim ColNum As Integer ColNum = 4 Columns(ColNum).Select End Sub
In the above, we have declared the variable as "Integer" and assigned the value of 4 to this variable.
We have supplied this variable instead of the column number for the Column's property. Since the variable holds the value of 4, it will select the 4th column.
Example #3 - Select Column Based on Cell Value
We have seen how to select the column based on variable value now. Next, we will see how we can select the column based on the cell value number. For example, in cell A1 we have entered the number 3.
The code below will select the column based on the number in cell A1.
Code:
Sub Columns_Example() Dim ColNum As Integer ColNum = Range("A1").Value Columns(ColNum).Select End Sub
The above code is the same as the previous one. Still, the only thing we have changed here is instead of assigning the direct number to the variable. Instead, we gave a variable value as "whatever the number is in cell A1."
Since we have a value of 3 in cell A1, it will select the third column.
Example #4 - Combination of Range & Column Property
We can also use the Columns property with the Range object. Using the Range object, we can specify the specific range. For example, look at the below code.
Code:
Sub Columns_Example1() Range("C1:D5").Columns(2).Select End Sub
In the above example, we have specified the range of cells as C1 to D5. Then, using the columns property, we have specified the column number as 2 to select.
Now, in general, our second column is B. So the code has to select the "B" column but see what happens when we run the code.
It has selected the cells from D1 to D5.
In our perception, it should have selected the second column, i.e., column B. But now, it has selected the cells from D1 to D5.
It has selected these cells because before using the COLUMNS property, we have specified the range using the RANGE object as C1 to D5. Now, the property thinks within this range as the columns and selects the second column in the range C1 to D5. Therefore, D is the second column, and specified cells are D1 to D5.
Example #5 - Select Multiple Columns with Range Object
Using the Range object and Columns property, we can select multiple columns. For example, look at the below code.
Code:
Sub Columns_Example1() Range(Columns(2), Columns(5)).Select End Sub
The code will select the column from the second column to the fifth column, i.e., from column B to E.
We can also write the code in this way.
Code:
Sub Columns_Example1() Range(Columns(B), Columns(E)).Select End Sub
The above is the same as the previous one and selects the columns from B to E.
Like this, we can use the COLUMNS property to work with the worksheet.
Recommended Articles
This article has been a guide to VBA Columns. Here, we discuss examples of the column property in Excel VBA and select multiple columns with the range object and downloadable Excel templates. Below are some useful articles related to VBA: -