Copiar datos de una hoja a otra con una condición

Quisiera saber como puedo copiar datos de una hoja a otra y que sean de columnas específicas y que se basen en que tienen una condición.
Por decir
"Esto esta en la hoja 1"
                A B C D
1 Nombre Motivo Status Horas
2 José XXXX Proceso 300
3 Raúl XXXX pendiente 250
* en el area de status puedo tener (Proceso, Pendiente, Terminadas, Borrador)
A lo que me refiero por decir tengo así mi tabla en Excel entonces por medio de una macro viendo los estados en la columna C (Debe de tomar toda la columna C) copiar nada más el nombre, el estatus y las horas, y no hacerle caso al motivo.
Y Estos datos pasarlos en una posición especifica digamos que empiece en A6 que yo le indique en otra hoja (En este caso a Hoja 2)
Vi que le contestaste a otro compañero de la página y le mandaste este código, pero no puedo adaptarlo para mi situación.
"Tu código para la macro"
Sub MayorqUno()
' MayorqUno Macro
' Macro grabada el 12/08/2008 por Richard Chacón
Sheets("Hoja2").Select
Range("A3").Select
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A3").Select
Sheets("Hoja1").Select
Range("A3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=5, Criteria1:=">1", Operator:=xlAnd
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Hoja2").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Hoja1").Select
ActiveCell.Select
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hoja2").Select
Selection.End(xlToRight).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlToLeft).Select
Sheets("Hoja1").Select
Selection.End(xlToLeft).Select
Selection.AutoFilter Field:=5
End Sub

2 Respuestas

Respuesta
1
Q+ Ricardo,
Has lo siguiente:
1.- A la Matriz de Datos de la Hoja1 asígnale un Nombre (LaData). Se hace seleccionando los datos y yendo al Menú - Insertar - Nombre - Definir
2.- En la Hoja2 vamos a hacer la extracción, pero 1ro un par de cosas...
3.- En una Hoja 3 creamos cuatro columnas:
Estatus - Nombre - Motivo - Títulos
Proceso - Ana - Motivo1 - Nombre
Pendiente - Pepe - Motivo2 - Motivo
Terminada - Julián - Motivo3 - Estatus
Borrador - Raúl - Motivo4 - Horas
4.- A Cada Columna le asignas un nombre (los mismos títulos)
5.- Ahora si. Vamos a la Hoja dos, y en B3 aplicamos Menu- Datos - Validación
En Permitir va Lista y en Origen va =Titulos
6.- En B4 aplicamos Menu- Datos - Validación
En Permitir va Lista y en Origen va =Indirecto(B3)
7.- Luego Abres VisualBasic (ALT+F11)
8.- Insertas un Módulo (Menú - Insertar)
9.- Copias este código:
Sub Filtrar()
' Filtrar Macro
' Macro grabada el 26-08-2008 por Richard Chacón
Range("LaData").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"Criterios"), CopyToRange:=Range("Extraer"), Unique:=False
' Esta Macro Extrae de la Hoja1, los datos que cumplan con las condiciones
' del filtro en la Hoja2 (Rango de Criterios B3:B4)
' Los datos que coincidan van a la Hoja2 hacia el Rango de Extracción (A6:C6) que le
' indica al Filtro cuales columnas debe traerse.
End Sub

10.- Cierras VB
11.- En Menú - Herramientas - Macro - Macros seleccionas la Macro Filtrar, luego
Opciones. Allí colocas una "i" minúscula y pulsas Aceptar
12.- Te ubicas eb B3 y con la flechita seleccionas Estatus
13.- En B4 seleccionas cualquier cosas
14.- Pulsas CTRL+i
Y listo...
Me avisas cualquier cosa.
Muchísimas gracias lo voy a probar, si tengo alguna duda te preguntare de nuevo, pero ya con esto ya me hiciste un parote. Muchas gracias.
Que tengas buen día.
Si gustas agregarme al msn el mio es [email protected]
Cual es tu msn para poder comunicarnos por ahí.
Claro espero no te moleste
Saludos
QUE bien Ricardo,
espero que te funciones...
No olvides calificar!
[email protected]
Respuesta
1
Envíame tu archivo a mi correo y te lo modifico para que obtengas el resultado deseado. Esto se hace con Filtros Avanzados, pero se le tiene que hacer un código par que copie los datos a otra hoja. Me especificas lo que quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas