Add a Sheet using Excel Macros

.

Adding a sheet in Already existing workbook is very easy. It can be done manually easily. Here we are going to learn, how to add a Sheet in an already existing workbook using Excel Macro. For doing so, there can be many possibilities.
 
For example:  we might want to add a new sheet always with certain format. In this case, either we first add a new Sheet to the workbook without any formatting and then do the same formatting using macro, or make a Template (Sheet) which has exactly the same format what you want in each sheet and then copy the same Template each time and then rename the sheet name with the given name.

In some cases, you might just want to add a new sheet (without any formatting) with a name given by user. In this case you can just add a new sheet using macro and then rename the sheet name with the given name by user.
 
Note: While adding a new Sheet in Excel, MS Excel never ask for a name of that new Sheet; It always gives it’s own generated name like Sheet 1, Sheet 2, Sheet 3….etc. So when you want to add a New sheet with your own Name, First add a Sheet and then Rename it with your given Name. This is the reason, you can see in both the below example we are first adding a new Sheet and then renaming it.
 

i) When you have already built template for the sheet:


Sub addsheet(VariableSheetName)
' *****************************************************
' Before adding any sheet in to workbook we need
' to make sure that there is no sheet already there
' in the work book with same name.
' *****************************************************
Dim SheetExists as Boolean
SheetExists = False
For Each Sheet In Sheets
If Ucase(Sheet.Name ) = Ucase(VariableSheetName) Then
SheetExists = True
Msgbox("This Sheet already exists")
End If
Next Sheet
If (SheetExists = False) Then
Worksheets("Expences-Template").Copy After:=Worksheets("Expences-Template")
Worksheets("Expences-Template (2)").Name = VariableSheetName
End If
Worksheets(VariableSheetName).Activate
End Sub

 

ii) When you have to simply add a sheet with desired name


Sub AddSheet(VariableSheetName)
' *****************************************************
' Before adding any sheet in to workbook we need
' to make sure that there is no sheet already there
' in the work book with same name.
' *****************************************************
Dim SheetExists as Boolean
SheetExists = False
For Each Sheet In Sheets
If Ucase(Sheet.Name ) = Ucase(VariableSheetName) Then
SheetExists = True
MsgBox("This Sheet already exists")
End If
Next Sheet
If (SheetExists = False) Then
Worksheets.Add().Name = VariableSheetName
Worksheets(VariableSheetName).Select
End Sub

Buy a coffee for the author

Adsense

Download FREE Tools and Templates

There are many cool and useful excel tools and templates available to download for free. For most of the tools, you get the entire VBA code base too which you can look into it, play around it, and customize according to your need.

Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide
Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide

In today's tutorial, we'll be diving into the exciting world of dynamic arrays and spill functions in Office 365 Excel. These features have revolutionized the way we work with data, providing a more flexible and efficient way to handle arrays. I am going to explain...

How to Declare a Public Variable in VBA
How to Declare a Public Variable in VBA

While programming in VBA sometimes you need to declare a Public Variable that can store the value throughout the program. Use of Public Variable: Let's say you have 4 different Functions in your VBA Code or Module and you have a variable that may or may not be...

How to Copy content from Word using VBA

As many of us want to deal with Microsoft Word Document from Excel Macro/VBA. I am going to write few articles about Word from Excel Macro. This is the first article which opens a Word Document and read the whole content of that Word Document and put it in the Active...

What is Excel Formula?

Excel Formula is one of the best feature in Microsoft Excel, which makes Excel a very very rich application. There are so many useful built-in formulas available in Excel, which makes our work easier in Excel. For all the automated work, Excel Macro is not required. There are so many automated things can be done by using simple formulas in Excel. Formulas are simple text (With a Syntax) which is entered in to the Excel Worksheet Cells. So how computer will recognize whether it is a formula or simple text? Answer is simple.. every formula in Excel starts with Equal Sign (=).

You May Also Like…

1 Comment

  1. playpen

    Hello there, simply became aware of your blog thru Google, and found that it's truly informative. I'm gonna watch out for brussels. I will appreciate in case you proceed this in future. Lots of people shall be benefited out of your writing. Cheers!

    Reply

Trackbacks/Pingbacks

  1. Learn Excel Macro Input Box and "Smart" Input Box - [...] The most easiest and commonly used function in VBA is Input Box. Without much VBA coding, user can be…
  2. Learn Excel Macro Input Box and "Smart" Input Box - [...] The most easiest and commonly used function in VBA is Input Box. Without much VBA coding, user can be…

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join and get a FREE! e-Book

Don't miss any articles, tools, tips and tricks, I publish here

You have Successfully Subscribed!

Pin It on Pinterest