Welcome to the forum!
Put this code in a Module.
Sub Copy3Sheets()
Dim ws(1 To 3) As Worksheet, v As Variant, s As String
Set ws(1) = Worksheets("Yearly Lease Order")
Set ws(2) = Worksheets("Yearly Quote Form")
Set ws(3) = Worksheets("Yearly Invoice Form")
For Each v In ws()
s = Worksheets("Costings Main Menu").Range("C4").Value2
s = s & " " & v.Name
If Not WorkSheetExists(s) Then
v.Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = s
End If
Next v
Worksheets("Costings Main Menu").Activate
Range("A1").Select
End Sub
'WorkSheetExists in a workbook:
Function WorkSheetExists(sWorkSheet As String, Optional sWorkbook As String = "") As Boolean
Dim ws As Worksheet, wb As Workbook
On Error GoTo notExists
If sWorkbook = "" Then
Set wb = ActiveWorkbook
Else
Set wb = Workbooks(sWorkbook)
End If
Set ws = wb.Worksheets(sWorkSheet)
WorkSheetExists = True
Exit Function
notExists:
WorkSheetExists = False
End Function
Call the sub Copy3Sheets from an activex commandbutton's Click event:
Private Sub CommandButton1_Click()
Copy3Sheets
End Sub
Bookmarks