Jump to content

Macros para pegar datos de hoja a hoja correlativamente


jechulandia

Recommended Posts

Hola amigos de ayuda excel tengo un pequeño problemita, tengo un libro que se llama copiar que lo uso de ejemplo ,en la hoja1 celda A1 y B1 escribo datos y en esta misma hoja tengo un macros asociado a un boton que copia los datos de la celda A1 y B1 en la hoja2 del mismo libro , pero lo que pasa es que el problema ocurre cuando mando datos nuevos estos se sobreescriben en el anterior ya pegado, lo que quisiera es que se pegue pero debajo del ultimo pegado. No se si el problema ocurra aca :

miFila = Sheets("hoja2").Range("A65536").End(xlUp).Row + 1

esta linea deberia hacer que se pegue debajo luego probe con esta :

miFila=Sheets("hoja2").

Range("A"&Rows.Count).End(xlUp).Row + 1

Les dejo mi ejemplo para una mejor guia.

copiar.rar

Link to comment
Share on other sites

Hola.

prueba con esta macro:

Sub copiar()
Dim ul As Long
ul = Hoja2.Range("A" & Rows.Count).End(xlUp).Row
Hoja2.Select
Range("A" & ul + 1) = Hoja1.Range("A1")
Range("B" & ul + 1) = Hoja1.Range("B1")
Hoja1.Select
Range("A1:B1") = ""

End Sub

Un saludo.

Link to comment
Share on other sites

Aquí otra forma muy similar.

[COLOR=#000080]Sub[/COLOR] CopiarLimpiar()
'obtener ultima fila con datos de la tabla
[COLOR=#000080] Dim[/COLOR] miFila [COLOR=#000080]As Integer[/COLOR]
'considerando que la col A tendrá datos . + 1 para obtener la primer fila libre.

[COLOR=#000080] If[/COLOR] Sheets("hoja2").Range("A1") = [COLOR=#000080]Empty Then[/COLOR]

    miFila = 1

[COLOR=#000080]     Else[/COLOR]

    miFila = Sheets("hoja2").Range("A" & Rows.Count).End(xlUp).Row + 1

[COLOR=#000080] End If[/COLOR]

'selecciona hoja con datos a copiar
'primer dato en primer col
Sheets("hoja1").Select
ActiveSheet.Range("A1").Copy Destination:=Sheets("hoja2").Cells(miFila, 1)
'segundo dato en col B
ActiveSheet.Range("B1").Copy Destination:=Sheets("hoja2").Cells(miFila, 2)
'así con cada dato
'si los datos están en 1 fila utilizar 1 sola instrucción indicando el rango completo para copiarlo en la col 1

'limpiar celdas
ActiveSheet.Range("A1") = ""
ActiveSheet.Range("B1") = ""
'así con todas las celdas
End Sub

Es una modificación de tu código.

Link to comment
Share on other sites

Hola.

tendrias que espeficicar que casillas de la hoja1 estan en vertical, suponiendo que fueran A1 y A2 el codigo te quedaria así:

 Sub copiar()
Dim ul As Long
ul = Hoja2.Range("A" & Rows.Count).End(xlUp).Row
Hoja2.Select
Range("A" & ul + 1) = Hoja1.Range("A1")
Range("B" & ul + 1) = Hoja1.Range("A2")
Hoja1.Select
Range("A1:A2") = ""
End Sub 

Un saludo.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.
  • Crear macros Excel

  • Posts

    • Hola a ambos, @gonzalomadrid, en Word de M365 sí funciona. Basta con que escribas =rand() para que te aparezca el texto. Si eliges =rand(2,3) te aparecerá un texto con 2 párrafos y 5 operaciones. En Excel, hasta donde yo sé, es diferente. Tal como te comenta @Abraham Valencia, dispones de =ALEATORIO() y =ALEATORIO.ENTRE() para generar números aleatorios. El propio 'Help' de Excel explica muy bien argumento y sintaxis de ambas funciones. Saludos,  
    • Hola, descargar mejor la versión (2). Saludos. MImgUrl(2).xlsm
    • Hola Medio enredado lo que escribes, pero creo que en realidad lo que buscas es ALEATORIO.ENTRE o RANDBETWEEN si usas Excel en inglés.    
    • Muchas gracias a todos por sus aportes, me han resultado de mucha utilidad, al final lo pude resolver utilizando temporalmente la funcion de reemplazar para sacar la operacion requerida y despues de eso lo volvi a dejar como estaba. Un saludo para todos
    • aquel famoso - y antiguo-    = Rand (8,5)   ¿funciona en    en excel 2019? y de paso ¿funciona en word 2019 y demás office? A mi no me funciona ni a tiros, ni ese ni   = Rand () ni Lorem Ipsum() ni nada parecido para meter texto dummy o aleatorio. ¿alguien  sabe algo?  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy