hello, i need some help on speeding up the process of cycling through about 270 records(rows) on one sheet and adding 6 rows per record on another sheet, right it's taking about 20 minutes. i should also say that each of those 6 lines has different values for the 4 columns that i fill, i also need to copy the formulas and data validation formulas to all the cells within that range

is it possible to "write" the 270*6 rows on the ram and them dumping all the rows at once on the sheet?
how can i speed this up?

my currrent code is as follows

Set rngIPID = Sheets("1").Range("A12:A" & sLastLine)

Sheets("2").Select
'percorre as linhas da coluna de ipid
For Each rngLine In rngIPID


If rngLine .Value <> "" Then
                           
                    sLastLineSheet2 = Sheets("2").Cells(Cells.Rows.Count, "A").End(xlUp).Row
                    

                    ' i copy the range and insert it down because i want to keep the formulas from a "template" row

                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown
                    
                                        
                    sLastLineSheet2 = sLastLineSheet2 + 1
                    
                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_TEMPO
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_INICIO_VAZIO
                    
                    Cells(sLastLineSheet2 , "A").Interior.Color = RGB(253, 253, 0)
                    Cells(sLastLineSheet2 , "B").Interior.Color = RGB(0, 176, 240)
                    Cells(sLastLineSheet2 , "C").Interior.Color = RGB(0, 176, 240)
                    Cells(sLastLineSheet2 , "D").Interior.Color = RGB(0, 176, 240)
                    Cells(sLastLineSheet2 , "E").Interior.Color = RGB(0, 176, 240)
                    Cells(sLastLineSheet2 , "F").Interior.Color = RGB(0, 176, 80)
                    Cells(sLastLineSheet2 , "G").Interior.Color = RGB(0, 176, 80)
                    Cells(sLastLineSheet2 , "H").Interior.Color = RGB(0, 176, 80)
                    
                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown
                    
                    sLastLineSheet2 = sLastLineSheet2 + 1

                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_TEMPO
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_PERCURSO
                    
                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown

                    sLastLineSheet2 = sLastLineSheet2 + 1

                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_TEMPO
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_FIM_VAZIO
                    
                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown
                    
                    sLastLineSheet2 = sLastLineSheet2 + 1

                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_DISTANCIA
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_INICIO_VAZIO
                    
                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown

                    sLastLineSheet2 = sLastLineSheet2 + 1

                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_DISTANCIA
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_PERCURSO
                    
                    Range("A" & sLastLineSheet2 & ":" & "L" & sLastLineSheet2 ).Select
                    Selection.Copy
                    Selection.Insert Shift:=xlDown
                    
                    sLastLineSheet2 = sLastLineSheet2 + 1

                    Cells(sLastLineSheet2 , "A").Value = rngLine .Value
                    Cells(sLastLineSheet2 , "B").Value = CONCELHO
                    Cells(sLastLineSheet2 , "C").Value = TIPO_MEDICAO_DISTANCIA
                    Cells(sLastLineSheet2 , "D").Value = CLASSE_FIM_VAZIO
                    

        End If

Next