Macro que al copiar ciertas celdas se salte un espacio en la hoja nueva

Saben necesito una macro que me copie ciertas celdas en una nueva hoja, eso lo hago con esta macro

Sub analisis()
Range("e4").Copy Destination:=Worksheets("Analisis L1").Range("A4")
Range("e6").Copy Destination:=Worksheets("Analisis L1").Range("e4")
Range("e7").Copy Destination:=Worksheets("Analisis L1").Range("b4")

End Sub

Y me da resultados, pero cuando quiero volver a presionar el botón que me pegue justo a bajo de los valores anteriores, los nuevos valores para así poder crear una especia de base de datos, si me pudiesen ayudar se los agradecería mucho desde ya muchas gracias por leer.

1 Respuesta

Respuesta
1

Tendrías que modificar el rango destino para que fuera variable y siempre reconociera la última celda empleada.

Podría ser así:

Sub analisis()

dim UFila as long

UFila=Worksheets("Analisis L1").Range("A" & Rows.count).end(xlup).row+1
Range("e4").Copy Destination:=Worksheets("Analisis L1").Range("A" & UFila)
Range("e6").Copy Destination:=Worksheets("Analisis L1").Range("e" & UFila)
Range("e7").Copy Destination:=Worksheets("Analisis L1").Range("b" & UFila)

End Sub

Espero te sirva.

Saludos

hola gracias por responder tan rápidamente ahora si te puedo pedir otro favor mira tengo esta macro 

Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\Historico Fallas.xlsx")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Perdidas")
Set wsDestino = wbDestino.Worksheets("Respaldo")
'Indicar la celda de origen y destino
Const celdaOrigen = "A11"
u = wsDestino.Range("A" & Rows.Count).End(xlUp).Row + 1
'Const celdaDestino = "A" & u
celdaDestino = "A" & u
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
End Sub

la cual me sirve para copiar cierto numero de celdas en otro excel pero ahora necesito pegar estas 

Sub analisis()

Dim UFila As Long

UFila = Worksheets("Analisis L1").Range("A" & Rows.Count).End(xlUp).Row + 1
Range("e4").Copy Destination:=Worksheets("Analisis L1").Range("A" & UFila)
Range("e6").Copy Destination:=Worksheets("Analisis L1").Range("e" & UFila)
Range("e7").Copy Destination:=Worksheets("Analisis L1").Range("b" & UFila)


End Sub

si me puedes ayudar a combinar las macros te los agradeceré para que las celdas ates dichas se combinen desde ya muchas gracias  

Debes abrir otro hilo al margen de esta cuestión, ya que se trata de otra cuestión.

;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas