Pasar ciertos datos de la hoja(1) a la hoja(2)

Hola que tal, mi pregunta es la siguiente: ¿Cómo le puedo hacer para que de la Hoja(1) se copien a la Hoja(2) ciertos datos? Por ejemplo: Si en la Hoja(1) en la columna A tengo el dato en el que me voy a basar para pasar los datos a la Hoja(2); cabe mencionar que me interesa copiar la fila completa y pasarla a la Hoja(2).
Espero haberme explicado.
Saludos y muchas gracias por su tiempo.

2 respuestas

Respuesta
1
Sub MyMacro()
If WorkSheets("Hoja1").Range("a1") = 1 Then
Sheets("hoja1").Range("b1:Iv1").Copy
Sheets("hoja2").Select
Range("a1").select
ActiveSheet.paste
Application.CutCopyMode = False
Sheets("hoja1").Select
Range("a1").Select
End If
End sub
Visita la Web
Vienen varios temas sobre excel.
La macro es excelente, pero como hacer para que también me pase todo lo que escriba después de la fila uno; mejor explicado, me di cuenta que solo se pasa a la Hoja(2) lo que esta escrito en la primera fila de la Hoja(1), si escribo en la Fila 2 y aplico la macro ya no se pasa a la Hoja(2).
De lo de más esta muy bien, me di cuenta que pusiste como condición para que se pasara a la otra hoja el numero 1, pero eso ya después se lo modifico de acuerdo a lo que voy a necesitar.
Es que si entiendo un poco las macros pero todavía estoy muy novato en ese tema, espero que más adelante pueda estudiar más afondo el tema.
Gracias por tu tiempo y espero tu respuesta de este ultimo detalle que te comento.
Saludos!
Ok mira...
Para que te valide todas las filas de la hoja1 es necesario que lo que hace la macro que te envíe, te lo repita cuantas veces sea hasta que a no encuentre datos en la columna "a"
para eso vamos a necesitar del Usode la Propiedad  "Do Until......Loop
Esta propiedad la puedes usar pararepetir uncodigo de acuerdo a una condición.
En este caso la condición de propiedad va a ser que si la celsa de la columna a dela hoja1 esta vacía, ya no se ejecute el código
es decir para este ejemplo.
Si la celda a1 de hoja1 es igual a1, va a seleccionar toda la fila 1 a partir de la columnab y lo pegara en la hoja 2 en la fila2
este mismo proceso se repetirá con la fila 2
es decir si la celda a2 es igual a1 seleccionara y copiara toda la fila 2 de la hoja1 y lo pegara en la primera fila vacía de la hoja2. Es decir si la fila 2 de la hoja2 esta ocupada, se ira una fila adelante y lopegara y así con las demás.
La ejecución de la Propiedad "Do Until" tiene la Condición siguiente:
Do Until ActiveCell = ""
Queré decir que si la celda de la culmna a de la hoja1 esta vacía dejara de ejecutarse.
Esta propedad la terminas con "Loop".
Te mando la macro..
Saludos y suerte.
Sub MyMacro()
Range("a1").Select 'Aqui indicas el inicio lara la validacion de celda
Do Until ActiveCell = "" ' Aqui pones la condicion a la Propiedad Do Until
If ActiveCell.Value = 1 Then 'Aqui pones la condicion para laejecuciondelcodigo
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("hoja2").Select
Range("b65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("a1").Select
Sheets("hoja1").Select
ActiveCell.Offset(1, -1).Select
Else
ActiveCell.Offset(1, 0).Select
End If  'Aqui terminas la condicion de la ejecuciondelcodigo
Loop    'Aqui terminas la propiedad
End Sub
Muchas gracias por la macro me sirvió mucho.
Por cierto, ya te di de alta en mi msn, mi correo es [email protected]
Saludos y gracias nuevamente!
Respuesta
1
Te agradecería que cirres la pregunta que hiciste la vez pasada en donde quedo pendiente el envío del archivo.
Para solucionar este problema entra aquí hay ejemplos que te ayudarán mucho.
http://alexcastaneda.blogspot.com/search/label/macros%20vba
También encontrarás un libro muy completo de macros.
Fuente: http://alexcastaneda.blogspot.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas