Try this code
Option Explicit
Sub create_sheets()
Dim lcol As Long, i As Long, lrow As Long
Dim sname As String
Application.ScreenUpdating = False
With Worksheets("Start")
lcol = .Range("IV1").End(xlToLeft).Column
For i = 2 To lcol
sname = .Cells(1, i).Value
Worksheets("Template").Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = sname
Worksheets(sname).Range("E2").Value = .Cells(2, i).Value
Worksheets(sname).Range("E3").Value = .Cells(3, i).Value
lrow = .Cells(.Rows.Count, i).End(xlUp).Row
.Range(.Cells(4, i), .Cells(lrow, i)).Copy Worksheets(sname).Range("D7")
Application.CutCopyMode = False
Next i
End With
Application.ScreenUpdating = True
End Sub
Copy the Excel VBA code
Select the workbook in which you want to store the Excel VBA code
Hold the Alt key, and press the F11 key, to open the Visual Basic Editor
Choose Insert | Module
Where the cursor is flashing, choose Edit | Paste
To run the Excel VBA code:
Choose View | Macros
Select a macro in the list, and click the Run button
Bookmarks