Macro para copiar y pegar varias veces

Buen día... Espero que alguien me pueda ayudar. Les explico: para poder realizar mi trabajo necesito armar una base en un una hoja de excel con datos que me envían en hojas de excel. Mi problema es: necesito poder copiar los datos que me envían en un orden específico (digamos que la celda A1 la quiero copiar en la celda J3, la celda A2 en la celda M5 y así con varios datos) y poder realizar el copia de otro nuevo conjunto de datos en la celda inferior a la que se copiaron los primeros datos. Hasta ahora sólo he podido armar esta macro para copiar un dato (eso no tiene tanta importancia porque puedo repetir el proceso) pero todavía no encuentro la forma de que en la misma macro pueda copiar datos nuevos en otro fila. Espero su amable respuesta y gracias.
Sub Macro3() Application.ScreenUpdating = False Dim nbre As String nbre = ActiveSheet.Name ActiveSheet.Select     Range("F2").Select     Selection.Copy     Sheets("Hoja2").Select     Range("W4").Select     ActiveSheet.Paste     Sheets("Hoja1").Select     Application.CutCopyMode = False Application.ScreenUpdating = True End Sub

1 respuesta

Respuesta
1
Vas a tener que dejar un ejemplo más concreto, porque:
'.....A1 la quiero copiar en la celda J3, la celda A2 en la celda M5.... nuevo conjunto de datos en la celda inferior....
La pregunta es: ¿En celda inferior a J3 o a M5?
Una imagen o un ejemplo real será de ayuda para resolver tu consulta.
Te recuerdo que la consulta sigue abierta. En este foro debes finalizarlas para que se te permita el ingreso de nuevos temas.. comentame si ya lo resolviste.
Sdos
Elsa
Primero, gracias por los consejos, ya que debido a ellos me he convertido en un empírico de las macros. Bueno, intenté subir mi archivo pero no encontré la manerá; así que trataré de ser lo más puntual posible.
- Tengo el libro "Base" con las Hojas 1 y 2.
- En la Hoja1 tengo información que previamente he copiado de manera traspuesta, mediante una macro, de archivos temporales, los cuales contienen datos como fecha de nacimiento, lugar de nacimiento, sexo, nacionalidad, entre otros.
- Ahora lo que deseo hacer es lo siguiente:
1) Copiar los datos que tengo en la Hoja1 a la Hoja2, pero con un distinto orden: ej. el dato "fecha de nacimiento", que se encuentra en la celda A1 de la Hoja1, a la celda H1 de la Hoja2; el dato "sexo" que está en la celda U1 de la Hoja1, a la celda G1 de la Hoja2 y así, sucesivamente, hasta copiar 35 datos.
2) Como éste, serían varios registros, de 35 datos cada uno, los que tendría que copiar para poder armar mi base. Entonces el problema es que necesito poder copiar un registro en el renglón 1 y abajo de ese otro, pero con datos completamente diferentes. Espero que con esta información sea suficiente. Agradezco tu apoyo. Saludos.
Te dejo algunas instrucciones para realizar 'copia de datos':
1- '... Que se encuentra en la celda A1 de la Hoja1, a la celda H1 de la Hoja2;'
Sheets("Hoja2").range("H1") = sheets("Hoja1").Range("A1")
O también con:
Sheets("Hoja1"). Range("H1").copy destination:=sheets("Hoja2"). Range("H1")
Así línea por línea.
Para utilizar la misma instrucción la 2da vez donde quizás ya no sea la fila 1 podes utilizar variables que luego irás incrementando:
fil1 = 1
fil2 = 1
Cada vez que completas los 35 pases, incrementas la o las filas en 1
Sheets("Hoja2").range("H" & fil2) = sheets("Hoja1").Range("A" & fil1)
'otros campos

fil2 = fil2+1
fil1 = fil1+1  'opcional
Sdos. Si no logras armar tu base podes enviarme tu libro al correo que encontrarás en mi sitio. No olvides recordarme alias y motivo de consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas