Public Function checksheet(sheetName As String) As Boolean
Dim found As Boolean
Dim i As Integer
found = False
For i = 1 To Sheets.Count
If Sheets(i).Name = sheetName Then
found = True
End If
Next i
checksheet = found
End Function
Sub Button1_Click()
Sheets("NEW ACC").Select
Sheets("NEW ACC").Copy Before:=Sheets(3)
Dim nameOfSheet As String
'Dim newNameOfSheet As String
Dim haveName As Boolean
Dim extension As Integer
haveName = False
Do While (Not haveName)
nameOfSheet = InputBox("Enter a sheet name")
If checksheet(nameOfSheet) Then
extension = 0
If MsgBox("That name is already in use. Do you want a duplicate name?", vbYesNo) Then
Do While (Not haveName)
nameOfSheet = nameOfSheet & " (" & extension & ")"
If checksheet(nameOfSheet) Then
extension = extension + 1
Else
haveName = True
End If
Loop
End If
Else
haveName = True
End If
Loop
Range("C2").Select
ActiveCell.FormulaR1C1 = nameOfSheet
Sheets("NEW ACC (2)").Select
ActiveSheet.Name = [C2]
Range("C3").Select
Bookmarks