Add New Sheets And Name Them Dynamically
Frequently, it is necessary to add new sheets from VBA. This illustration shows how to insert them in the correct location and rename them.
Program Code
Option Explicit
Option Base 1
Public Sub AddSheetsDynamically()
Dim strSalesRepName(5) As String
Dim i As Integer
' ********************************************************
' This Array Could Have Been Loaded in One Statement
' If Loading From A Worksheet Range
' ********************************************************
strSalesRepName(1) = "Joe"
strSalesRepName(2) = "Mary"
strSalesRepName(3) = "Sam"
strSalesRepName(4) = "Beth"
strSalesRepName(5) = "Linda"
' ********************************************************
' Add 5 New Sales Rep Sheets, Rename Them and
' Keep Them In Order
' ********************************************************
For i = 1 To 5
ThisWorkbook.Sheets(Sheets.Count).Activate
ThisWorkbook.Sheets.Add
ThisWorkbook.Sheets(ActiveSheet.Name).Name = strSalesRepName(i)
Next i
Sheets(1).Select
End Sub