¿Cómo eficientar código en Excel VBA?

Que tal amigos expertos, estoy trabajando en un archivo punto de venta y me ha surgido un problema. Les comento; al principio tenia dificultades con el pegado de información,pero con ayuda de un buen amigo se pudo resolver, pero no de la forma mas eficiente. Digo esto porque el código que se creo es bastante extenso y lo que requiero es de uno mas corto,(intente con varios códigos de copiado y pegado,pero ninguno funciono como quisiera,este código fue el más cercano a cubrir las necesidades),por eso acudo a ustedes para ver la posibilidad de que me orienten en la síntesis del anterior mencionado.Espero me puedan brindar un poco de su atención.De antemano, muchas gracias a todos.

Anexo una parte del código:

Sub copy()

Pregunta = MsgBox("¿Está seguro de Realizar el Movimiento?,Si aceptar,no podrá deshacer los cambios efectuados", vbYesNo + vbQuestion, "Factura System")
If Pregunta <> vbNo Then

'El código se ejecuta desde un commandbutton desde la hoja factura

If Range("c11") = Empty Then 'mensaje que impide la ejecución si todos los campos no están llenos
MsgBox "Llene Todos Los Campos:", _
vbOKOnly, "Información"
Exit Sub
Else

'código para llenado de fila ,(A11-C11&E11),en la hoja salidas

libre = Sheets("salidas").Range("a65536").End(xlUp).Row + 1 'encontrar ultima fila libre


Sheets("salidas").Cells(libre, 1) = Sheets("factura").Range("a11") 'celda copiada y pegada
Sheets("salidas").Cells(libre, 2) = Sheets("factura").Range("b11")
Sheets("salidas").Cells(libre, 3) = Sheets("factura").Range("c11")
Sheets("salidas").Cells(libre, 5) = Sheets("factura").Range("e11")

MsgBox "El Movimiento fue Realizado con Éxito:", _
vbOKOnly, "Información"
End If ' mensaje cuando se ha realizado el movimiento

If Range("c12") = Empty Then 'mensaje que impide la ejecución si todos los campos no están llenos
MsgBox "Llene Todos Los Campos:", _
vbOKOnly, "Información"
Exit Sub
Else

'código para llenado de fila ,(A12-C12&E12),en la hoja salidas
libre = Sheets("salidas").Range("a65536").End(xlUp).Row + 1 'encontrar ultima fila libre


Sheets("salidas").Cells(libre, 1) = Sheets("factura").Range("a12") 'celda copiada y pegada
Sheets("salidas").Cells(libre, 2) = Sheets("factura").Range("b12")
Sheets("salidas").Cells(libre, 3) = Sheets("factura").Range("c12")
Sheets("salidas").Cells(libre, 5) = Sheets("factura").Range("e12")


MsgBox "El Movimiento fue Realizado con Éxito:", _
vbOKOnly, "Información"
End If ' mensaje cuando se ha realizado el movimiento

End sub

El problema como ya se podrá observar es que el código es bastante extenso, y se vuelve aún mas, ya que lo que necesito es que esta instrucción se pueda llevar a cabo hasta la fila 27, es decir desde la 11 hasta la 27.

Añade tu respuesta

Haz clic para o