Hola... Necesito hacer un bucle.. Me ayudas

hola..espero me ayudes...

bueno necesito una macro q me copie de la hoja1 a la hoja 2

ejemplo

hoja1 : tiene 6 registros de la columna A a la F (la columna A TIENE LOS CÓDIGOS)Y EL RESTO DE LA B A LA F LOS DATOS DE LOS ALUMNOS

hoja2: hoja en blanco pero tiene los mismos códigos en la columna A

lo que quisiera es q la macro HAGA en la hoja1 celda activa en la columna A ,

donde estan los códigos primero seleccione el rango (A:F) ,corte, busque en la hoja2 el codigo de la hoja 1 y pegue, quisiera q todo lo haga automaticamente uno por uno hasta q ya no haiga nada q cortar en la hoja 1 aparezca un msgbox "los datos se pasaron con exito ya no hay datos q traspasar".....

gracias de antemano

edinson

1 Respuesta

Respuesta
1

Te pongo la macro:

Sub buscareg()

'Creada por Dam
Sheets("Hoja1").Select
i = 2
j = 2
Do Until Cells(i, 1) = ""
alumno = Cells(i, 1)
Sheets("Hoja2").Select
Do Until Cells(j, 1) = ""
If Cells(j, 1) = alumno Then
Sheets("Hoja1").Activate
ActiveSheet.Range(Cells(i, 2), Cells(i, 6)).Copy
Sheets("Hoja2").Select
Cells(j, 2).Select
ActiveSheet.Paste
Exit Do
End If
j = j + 1
Loop
Sheets("Hoja1").Select
i = i + 1
j = 2
Loop
End Sub

hola y gracias por tu ayuda......

aplique la macro q me ayudastes pero hay un pequeño problema me reconoce el primer

código en la segunda hoja pero no copia los datos, pero del segundo para adelante el segundo normal

y el tercero normal.hasta el final

podías ayudarme.......si......te lo agradecería....gracias

Perdona, por cambiarte el nombre, ja ja, yo creo que estaba contestando otra pregunta, pero bien, regresando a la pregunta, supuse que en la línea 1 tenías encabezados, por eso la macro inicia la búsqueda desde la línea 2. Si los datos empiezan desde la línea 1, entonces aplica esta macro:

**************

Sub buscareg()
Sheets("Hoja1").Select
i = 1
j = 1
Do Until Cells(i, 1) = ""
alumno = Cells(i, 1)
Sheets("Hoja2").Select
Do Until Cells(j, 1) = ""
If Cells(j, 1) = alumno Then
Sheets("Hoja1").Activate
ActiveSheet.Range(Cells(i, 2), Cells(i, 6)).Copy
Sheets("Hoja2").Select
Cells(j, 2).Select
ActiveSheet.Paste
Exit Do
End If
j = j + 1
Loop
Sheets("Hoja1").Select
i = i + 1
j = 2
Loop
Sheets("Hoja2").Select
MsgBox ("Los datos se pasaron con éxito, ya no hay datos que traspasar")
End Sub

*****************

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas