I just tried the new version of your code- it ran, but I got the same result... it produces a workbook with all of the correct sheets, but it's called Book1 and is unsaved. It must be something on my end if it's working for you.
Here is the code that is working for me, clumsy as it is. =) It now creates between 1 and 5 workbooks based on cell C24 (changed from C27), titled according to the relativePath. I just temporarily hide the sheets I don't want copied to the new workbooks.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Welcome").Visible = False
Dim relativePath1 As String
relativePath1 = ThisWorkbook.Path & "\" & "S # 1 Template " & Sheets("Welcome").Range("C27").Value
relativePath2 = ThisWorkbook.Path & "\" & "S # 2 Template " & Sheets("Welcome").Range("C29").Value
relativePath3 = ThisWorkbook.Path & "\" & "S # 3 Template " & Sheets("Welcome").Range("C31").Value
relativePath4 = ThisWorkbook.Path & "\" & "S # 4 Template " & Sheets("Welcome").Range("C33").Value
relativePath5 = ThisWorkbook.Path & "\" & "S # 5 Template " & Sheets("Welcome").Range("C35").Value
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
If Sh.Visible = True Then
Sh.Activate
Sh.Cells.Copy
Sh.Range("A1").PasteSpecial Paste:=xlValues
Sh.Range("A1").Select
End If
Next Sh
Application.CutCopyMode = False
Sheets("Welcome").Visible = True
Sheets("Welcome").Select
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Application.ScreenUpdating = True
If Sheets("Welcome").Range("C24") = 1 Then
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ElseIf Sheets("Welcome").Range("C24") = 2 Then
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath2, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ElseIf Sheets("Welcome").Range("C24") = 3 Then
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath2, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath3, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ElseIf Sheets("Welcome").Range("C24") = 4 Then
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath2, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath3, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath4, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ElseIf Sheets("Welcome").Range("C24") = 5 Then
ActiveWorkbook.SaveAs relativePath1, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath2, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath3, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath4, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.SaveAs relativePath5, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
End If
Application.DisplayAlerts = True
MsgBox "The workbook(s) you specified have been created in the same directory as the Master file. The program will now close."
Application.Quit
End Sub
Bookmarks