Greetings-
I am attempting to export selected sheets of a master workbook to either 1, 2, or 3 new workbooks, depending on the value of cell C27 (which will be 1, 2, or 3). The filename of each new workbook will also vary depending on C27s value. Im a near-total novice at VBA, but this is what Ive come up with. When I run the code, I get the else without if error. Ive tried many different variations of If, Else, and
ElseIf so the error is probably occurring because I am going about this task in a fundamentally wrong way. I cannot upload the workbook in question due to the security restrictions at my workplace. I am sure there are much better ways to do what I am attempting, but I am at the limit of my knowledge of VBA. Any assistance in fixing the code would be greatly appreciated.
I am attempting to export selected sheets of a master workbook to either 1, 2, or 3 new workbooks, depending on the value of cell C27 (which will be 1, 2, or 3). The filename of each new workbook will also vary depending on C27s value. Im a near-total novice at VBA, but this is what Ive come up with. When I run the code, I get the else without if error. Ive tried many different variations of If, Else, and
ElseIf so the error is probably occurring because I am going about this task in a fundamentally wrong way. I cannot upload the workbook in question due to the security restrictions at my workplace. I am sure there are much better ways to do what I am attempting, but I am at the limit of my knowledge of VBA. Any assistance in fixing the code would be greatly appreciated.
Code:
Sub Createtemplate2()
MsgBox "This function creates the template."
Dim relativePath1 As String
Dim relativePath2 As String
Dim relativePath3 As String
relativePath1 = ThisWorkbook.Path & "\" & "S # 1 Template " & Sheets("Welcome").Range("O26").Value & ".xlsm"
relativePath2 = ThisWorkbook.Path & "\" & "S # 2 Template " & Sheets("Welcome").Range("O28").Value & ".xlsm"
relativePath3 = ThisWorkbook.Path & "\" & "S # 3 Template " & Sheets("Welcome").Range("O30").Value & ".xlsm"
If Range("C27").Value = 1 Then
For Each ws In Worksheets(Array("General_Instructions", "Information", "Instructions", _
"Tasks", "K_Instructions", "Ks", "C_Instructions", "Comps", "Comments"))
SheetName = ws.Name
ws.Copy
With ActiveWorkbook
.SaveAs Filename:=relativePath1
.Close SaveChanges:=True
ElseIf Range("C27").Value = 2 Then
For Each ws In Worksheets(Array("General_Instructions", "Information", "Instructions", _
"Tasks", "K_Instructions", "Ks", "C_Instructions", "Comps", "Comments"))
SheetName = ws.Name
ws.Copy
With ActiveWorkbook
.SaveAs Filename:=relativePath1
.Close SaveChanges:=True
.SaveAs Filename:=relativePath2
.Close SaveChanges:=True
ElseIf Range("C27").Value = 3 Then
For Each ws In Worksheets(Array("General_Instructions", "Information", "Instructions", _
"Tasks", "K_Instructions", "Ks", "C_Instructions", "Comps", "Comments"))
SheetName = ws.Name
ws.Copy
With ActiveWorkbook
.SaveAs Filename:=relativePath1
.Close SaveChanges:=True
.SaveAs Filename:=relativePath2
.Close SaveChanges:=True
.SaveAs Filename:=relativePath3
.Close SaveChanges:=True
End If
End Sub