Se pueden insertar varias filas y columnas a la vez?

Tengo una macro que mediante un formulario guarda facturas en otra hoja(facturas). El problema es que conforme inserto datos quiero que haga otras cosas. Me explico, quisiera que si una factura se paga en varias veces, introduzca el desglose de esa factura en la hoja facturas. Adjunto la macro.

Sub guardar()
Dim celda As Range
Dim fila As Long
'hoja donde va la base de datos(celda hace referencia a un índice de búsqueda

Set celda = Hoja3.Range("A:A").Find(what:=Hoja1.Range("D5").Value, _
After:=Hoja3.Range("a7"))

If celda Is Nothing Then
' si la celda esta vacía hace lo que sigue , si no lo es, manda el mensaje _
de que ya existe la factura

fila = Hoja3.Cells(1200, 1).End(xlUp).Row + 1

Hoja3.Cells(fila, 1).Value = Hoja1.Range("D5").Value
Hoja3.Cells(fila, 2).Value = Hoja1.Range("J11").Value
Hoja3.Cells(fila, 3).Value = Hoja1.Range("D7").Value
Hoja3.Cells(fila, 4).Value = Hoja1.Range("D11").Value
Hoja3.Cells(fila, 5).Value = Hoja1.Range("O4").Value
Hoja3.Cells(fila, 6).Value = Hoja1.Range("D9").Value
Hoja3.Cells(fila, 8).Value = Hoja1.Range("J5").Value
Hoja3.Cells(fila, 9).Value = Hoja1.Range("O6").Value
Hoja3.Cells(fila, 10).Value = Hoja1.Range("O7").Value
Hoja3.Cells(fila, 11).Value = Hoja1.Range("O8").Value
Hoja3.Cells(fila, 12).Value = Hoja1.Range("O9").Value
Hoja3.Cells(fila, 13).Value = Hoja1.Range("O10").Value
Hoja3.Cells(fila, 14).Value = Hoja1.Range("O11").Value
Hoja3.Cells(fila, 15).Value = Hoja1.Range("O12").Value
Hoja3.Cells(fila, 16).Value = Hoja1.Range("O13").Value
Hoja3.Cells(fila, 17).Value = Hoja1.Range("O3").Value
Hoja3.Cells(fila, 18).Value = Hoja1.Range("O5").Value
Hoja3.Cells(fila, 19).Value = Hoja1.Range("O14").Value
With Hoja3

' inserta un enlace a la factura
.Cells(fila, 7).Value = Hoja1.Range("D16").Value
.Hyperlinks.Add anchor:=.Cells(fila, 7), Address:=.Cells(fila, 7)
End With

'La misma operación para cada dato a insertar hay que ir aumentado (fila,+1)
Else
MsgBox " La factura ya existe en la base de datos."
End If

'para dejar las casillas vacías una vez insertados los datos

Hoja1.Range("D5").Value = ""
Hoja1.Range("D7").Value = ""
Hoja1.Range("D9").Value = ""
Hoja1.Range("D11").Value = ""
Hoja1.Range("D13").Value = ""
Hoja1.Range("D16").Value = ""
Hoja1.Range("J5").Value = ""
Hoja1.Range("J7").Value = ""
Hoja1.Range("J9").Value = ""

End Sub

Con esta macro inserta los datos así

Me gustaria que en el caso de que tenga el pago aplazado en varios pagos, los insertase de esta manera

Añade tu respuesta

Haz clic para o