El mi=E9rcoles, 4 de julio de 2012 16:15:41 UTC-3, Eduard escribi=F3:
bi=F3:
ocs para Excel? El objetivo es filtrar determinadas filas de una matriz que=
cumplan determinada condici=F3n.
las Celdas que forman la cabecera de la matriz (donde estan los titulos de=
cada columna), luego vamos al Menu Datos --> Filtro --> Autofiltro.=20
la misma Matriz o en otro lugar, filtrar registros unicos etc.
acer. Quisiera formular el filtro de manera que se vaya actualizando de man=
era autom=E1tica a medida que voy cargando los datos.
variable) y filtrar en una segunda hoja una matriz con aquellos datos que c=
umplan los filtros.
Hola Eduard
Es posible que esta macro te oriente un poco:
Sub Filtro_por_Nombre()
'En A6 comienza una tabla que tiene los campos: Fecha Nombre Can=
tidad
'En E1 y E2 estan los CRITERIOS segun los cuales filtrar: por ejemplo f=
iltramos
'por el campo Nombre, entonces en E1 pondremos: Nombre y en E2 pondremo=
s el nombre
'de la persona que deseamos filtrar
'En E6 F6 y G6 estara el RANGO DE SALIDA, que en este caso sera: Fecha =
Nombre Cantidad
'respectivamente, podemos alterar el orden de los campos o poner menos =
campos
'Asi planteado, la macro sera la siguiente:
=20
Range("A6").Select
ActiveCell.CurrentRegion.Select
Selection.AdvancedFilter Action:=3DxlFilterCopy, CriteriaRange:=3DRange=
( _
=20
'Si hicimos bien los deberes, debajo del rango de extraccion debe haber=
algo
'si es asi, lo seleccionaremos, copiaremos y pegaremos en otro Libro
=20
Range("E7").Select
If ActiveCell <> "" Then
Range(ActiveCell, ActiveCell.Offset(0, 2)).Select
If ActiveCell.Offset(1, 0) <> "" Then
Range(Selection, Selection.End(xlDown)).Select
End If
Selection.Copy
Workbooks("Libro_donde_Pegar.xls").Activate 'Reemplazar el nombre l=
ibro por el verdadero
Sheets("Hoja_donde_pegar").Activate
Range("rango_donde_pegar").Select
ActiveSheet.Paste
Application.CutCopyMode =3D False
Else
MsgBox "no hay datos para copiar"
End If
end sub