REAL-TIME

VBA Projects

Full Access with Source Code
  • Designed and Developed by PNRao

  • Full Access with VBA Source Code

  • Well Commented Codes Lines

  • Creative and Professional Design

Effortlessly
Manage Your Projects

120+ Project Management Templates

Seamlessly manage your projects with our powerful & multi-purpose templates for project management.

120+ PM Templates Includes:
  • 50+ Excel Templates

  • 50+ PowerPoint Templates

  • 25+ Word Templates

Share Post

Description:

When we are automating any task we may required inserting columns between other columns or left/right side of a column using Excel VBA.

For example, we may generate employee performance report based on their tenure in an organization. The first column would be ‘Employee ID’ and the last column would be ‘Tenure (in months)’. Between these two columns I want Employee performance for each month. We can automate this and we need to add the number of column between these existing tow columns based on the tenure of the particular employee. Since one employee may working from last 2 years, some one lease may be joined 2 months back.

So, while generating the reports for each employee, we need to add the number of columns as per their tenure. We will see this practically in the below example.

Inserting Columns in Excel – Solution(s):

We can use EntireColumn.Insert method to insert a column in worksheet using Excel VBA.

Inserting Columns in Worksheet using Excel VBA – An Example

The following example will show how to insert columns in excel worksheets. In this example I am inserting a column at B and inserting multiple columns at C and D.

Code:
Sub sbInsertingColumns()
'Inserting a Column at Column B
Range("B1").EntireColumn.Insert


'Inserting 2 Columns from C
Range("C:D").EntireColumn.Insert
End Sub
Instructions:
  1. Open an excel workbook
  2. Press Alt+F11 to open VBA Editor
  3. Insert a Module for Insert Menu
  4. Copy the above code and Paste in the code window
  5. Save the file as macro enabled workbook
  6. Press F5 to run it
Input:

Below is the screen shot of the worksheet before running this code.
inserting columns in excel VBA Examples1

Output:

Below is the screen shot of the worksheet after running this code.

inserting columns in excel VBA Example 2

Inserting Columns in Worksheet using Excel VBA – Case study

As discussed above here is the simple example to generate the employee performance report using Excel VBA based on their tenure. This example will insert the number of columns based on the tenure in months.

Code:

Sub sbInsertingColumnsCaseStudy()

'Declaration
Dim iCntr, jCntr

'Setting the active sheet to an obect for future reference
Set shtSource = ThisWorkbook.ActiveSheet

'Adding a workbook
Set wb = Workbooks.Add
For iCntr = 2 To 10 ' for each employee

'Adding worksheet for each employee
Set sht = wb.Worksheets.Add
sht.Name = shtSource.Cells(iCntr, 1)

'Printing labels and employee ID and tenure
sht.Cells(1, 1) = "Employee ID"
sht.Cells(1, 2) = "Tenure"

sht.Cells(2, 1) = shtSource.Cells(iCntr, 1)
sht.Cells(2, 2) = shtSource.Cells(iCntr, 2)

'Pinting monts as per employee tenure.
    For jCntr = 1 To shtSource.Cells(iCntr, 2)
        sht.Range("B1").EntireColumn.Insert
        sht.Range("B1") = Format((Now() - jCntr * 30), "mm-yyyy")
    Next
Next

End Sub
Istructions:

Download the example workbook and click on the ‘Generate Employee Performance Report’ button. It will create new workbook and worksheets as report for each employee.

Inserting Columns using Excel VBA

Download – Example File

You can download and explore the use of inserting columns using excel vba.
ANALYSISTABS – Inserting Columns

Effortlessly Manage Your Projects and Resources
120+ Professional Project Management Templates!

A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.

Save Up to 85% LIMITED TIME OFFER
Project Management Templates

All-in-One Pack
120+ Project Management Templates

Essential Pack
50+ PM Templates

Excel Pack
50+ Excel PM Templates

PowerPoint Pack
50+ Excel PM Templates

MS Word Pack
25+ Word PM Templates

Ultimate Project
Management Template
Ultimate Resource
Management Template
Project Portfolio
Management Templates
Categories: Excel VBATags: Last Updated: June 17, 2022

4 Comments

  1. Aravind September 2, 2015 at 2:12 PM

    Hi guys,

    I wanted to move and reorganize my data in my excel example: I have 5 columns(A-E) and 100 rows(1-100) in each column in my sheet I want to move the entire column D to the position of the column B and Column B should not be overwritten the entire column B should be moved to the right.
    can anyone teach me how to do it using macro or something else.

  2. t.maharani January 11, 2016 at 11:56 AM

    how to create the columns in excel through vb6?
    could to send the coding?

  3. Abrar May 18, 2017 at 11:32 AM

    U can just insert a new column beside column B and cut column D and paste it into newly inserted column, that’s it !!

  4. Nik November 26, 2018 at 10:52 PM

    Hey guys, i want to enter 2 columns to right of cell if cell contains a substring. I want to do this for first 20 columns only

Leave A Comment