MACROS EN AUTOFILTROS

27/07/2005 - 06:23 por DANILO ARANGO | Informe spam
Hola foro
Alguien me puede ayudar, todos los dias recibo un archivo al cual se le
aplican una serie de filtros, los resultados de esos filtros los debo de
eliminar, esto lo debo hacer en varias colomunas inclusive conbinando
Filtros, como puedo hacerlo automatico?.

Estuve tratando de hacerlo con la grabadora de macros, pero no me da por
que, al aplicar el filtro debo de eliminar apartir de la linea que saca
entonces como el filtro saca otro numero de lineas, la grabadora de macros me
graba es la linea que seleccione.

Espero me haya explicado correctamen.


Saludos
Danilo A.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
27/07/2005 - 06:59 | Informe spam
hola, Danilo !

... todos los dias recibo un archivo al cual se le aplican una serie de filtros... los resultados... los debo de eliminar
... esto lo debo hacer en varias colomunas inclusive conbinando Filtros, como puedo hacerlo automatico?.
... tratando... con la grabadora de macros, pero... al aplicar el filtro... la grabadora... me graba la linea que seleccione.



-> si son muchos los criterios de filtrado que debes ejecutar [y por cada filtrado una eliminacion de los 'coincidentes']...
necesitaras aportar mayores detalles [criterios, sencillos o combinados, columnas con autofiltro, etc, etc, etc,] :-(
-> si no son 'exhaustivos' [como para hacerlos 'a pie']... prueba con procedimientos +/- como sigue:
1) aplica autofiltros a la 'base de datos' [menu datos / autofiltro] y realiza el filtrado segun criterios/columnas/...
2) una vez 'filtrada' la base de datos...
a) selecciona TODAS las celdas de una columna filtrada =>EXCEPTO la que sea el 'titulo/encabezado/...'< b) ve a [menu] edicion / ir a... [o pulsa la tecla {F5}]
c) en el dialogo mostrado, oprime el boton 'especial...'
d) elige la opcion de 'solo celdas visibles'... => y acepta < 3) ahora selecciona [menu] edicion / eliminar fila => y acepta <-> listo!!! ... las filas 'no deseadas' se habran 'ido' [SIN macros ;)]

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
27/07/2005 - 08:14 | Informe spam
hola, Danilo !

... todos los dias recibo un archivo al cual se le aplican una serie de filtros... los resultados... los debo de eliminar
... esto lo debo hacer en varias colomunas inclusive conbinando Filtros, como puedo hacerlo automatico?.
... tratando... con la grabadora de macros, pero... al aplicar el filtro... la grabadora... me graba la linea que seleccione.



de acuerdo con la consulta que haces en el grupo de access [24 min despues que aqui]
-> donde tampoco aportas [suficientes] datos 'ilustrativos' [a pesar de que la mencionas como 'urgente'] :-(
-> y asumiendo que de una consulta a bases de datos obtienes registros duplicados [motivo de los filtrados]
-> si lo quisieras resolver [una vez 'pasados' los datos a excel]
te paso un ejemplo con 'otra' forma de eliminar duplicados [sobre la hoja activa]
-> siempre y cuando el numero de 'areas' [o rangos discontinuos] 'final' NO exceda de 2048 :(
[o seria necesario 'anticipar' con una 'deteccion' y re/iniciar el proceso -misma macro-] ;)
-> modifica la columna donde se busca ['a' en el ejemplo] y la fila 'inicial' [la #2 en el ejemplo]

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Eliminar_Repetidos()
Dim Eliminar As Range, Col As String, F1 As Long, Fx As Long, Fila As Long
Application.ScreenUpdating = False
Col = "a"
F1 = 2
Fx = Range(Range(Col & F1), Range(Col & "65536").End(xlUp)).Rows.Count
For Fila = F1 To Fx + F1 - 1
If Application.CountIf(Range(Col & F1 & ":" & Col & Fila), Range(Col & Fila)) > 1 Then
If Eliminar Is Nothing Then Set Eliminar = Range(Col & Fila)
Set Eliminar = Union(Eliminar, Range(Col & Fila))
End If
Next
If Not Eliminar Is Nothing Then Eliminar.EntireRow.Delete: Set Eliminar = Nothing
End Sub
Respuesta Responder a este mensaje
#3 KL
27/07/2005 - 08:53 | Informe spam
Hola chicos,

Una otra opcion para eliminar duplicados podria ser el filtro avanzado
(Datos>Filtro>Filtro Avanzado) siempre y cundo la filas duplicadas sean
identicas en toda sus celdas. Se puede hacer tanto a mano como por codigo.
Si se hace a mano se tiene que ejecutar el menu Datos>Filtro>Filtro Avanzado
desde la hoja a donde se va copiar el resultado yendo posteriormente a la
hoja que contiene los datos duplicados para seleccionarlos.

Saludos,
KL


"Héctor Miguel" wrote in message
news:
hola, Danilo !

... todos los dias recibo un archivo al cual se le aplican una serie de
filtros... los resultados... los debo de eliminar
... esto lo debo hacer en varias colomunas inclusive conbinando Filtros,
como puedo hacerlo automatico?.
... tratando... con la grabadora de macros, pero... al aplicar el
filtro... la grabadora... me graba la linea que seleccione.



de acuerdo con la consulta que haces en el grupo de access [24 min despues
que aqui]
-> donde tampoco aportas [suficientes] datos 'ilustrativos' [a pesar de
que la mencionas como 'urgente'] :-(
-> y asumiendo que de una consulta a bases de datos obtienes registros
duplicados [motivo de los filtrados]
-> si lo quisieras resolver [una vez 'pasados' los datos a excel]
te paso un ejemplo con 'otra' forma de eliminar duplicados [sobre la hoja
activa]
-> siempre y cuando el numero de 'areas' [o rangos discontinuos] 'final'
NO exceda de 2048 :(
[o seria necesario 'anticipar' con una 'deteccion' y re/iniciar el
proceso -misma macro-] ;)
-> modifica la columna donde se busca ['a' en el ejemplo] y la fila
'inicial' [la #2 en el ejemplo]

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==> Sub Eliminar_Repetidos()
Dim Eliminar As Range, Col As String, F1 As Long, Fx As Long, Fila As
Long
Application.ScreenUpdating = False
Col = "a"
F1 = 2
Fx = Range(Range(Col & F1), Range(Col & "65536").End(xlUp)).Rows.Count
For Fila = F1 To Fx + F1 - 1
If Application.CountIf(Range(Col & F1 & ":" & Col & Fila), Range(Col &
Fila)) > 1 Then
If Eliminar Is Nothing Then Set Eliminar = Range(Col & Fila)
Set Eliminar = Union(Eliminar, Range(Col & Fila))
End If
Next
If Not Eliminar Is Nothing Then Eliminar.EntireRow.Delete: Set Eliminar =
Nothing
End Sub

Respuesta Responder a este mensaje
#4 Héctor Miguel
27/07/2005 - 09:24 | Informe spam
hola, KL !

... otra opcion para eliminar duplicados podria ser el filtro avanzado... yendo posteriormente a la hoja que contiene los datos duplicados [...]



si 'combinas' los datos expuestos en las consultas en este grupo y el de access...
[creo que] la solucion mas 'viable' [si se decide por hacerl en excel] es la que le propongo ;)
[a menos que prefiera modificar 'la consulta misma' a la base de datos]

saludos,
hector.
Respuesta Responder a este mensaje
#5 KL
27/07/2005 - 09:48 | Informe spam
Hola HM,

En la consulta me deberia de sacar solo 2 veces los datos los cuales son
reales por que esta cedula se repitio dos veces pero en la consulta que
haga me lo duplica 4 o 6 veces, y cuado por ejemplo son 3 o 4 veces el
registro repetido me duplica mas veces, y luego me toca pasar esta consulta
a excel y eliminar manualmente los repetidos.



No se si es eso, pero si te refieres a que Danilo lo que busca al final es
una tabla donde los registros duplicados queden duplicados solo una vez
(como en las tablas originales) y dichos registros son identicos en todos
los campos, entonces seguramente tendras razon (no asi, si los campos
duplicados que deben dejarse intactos solo tienen algun campo en comun,
p.ej. el ID/cedula/etc.).

Pero si, como pienso yo, lo que se busca es una tabla final sin duplicados,
y Danilo habia explicado tan detalladamente el tema de los duplicados para
que se entienda el origen de la duplicidad por un lado, y la medida en que
la carga de trabajo crece al tener que eliminar a mano una cantidad de
duplicados que de lo contrario habria sido mucho menor por otro lado,
entonces mi metodo valdria perfectamente, ?no?

Saludos,
KL



"Héctor Miguel" wrote in message
news:
hola, KL !

... otra opcion para eliminar duplicados podria ser el filtro avanzado...
yendo posteriormente a la hoja que contiene los datos duplicados [...]



si 'combinas' los datos expuestos en las consultas en este grupo y el de
access...
[creo que] la solucion mas 'viable' [si se decide por hacerl en excel] es
la que le propongo ;)
[a menos que prefiera modificar 'la consulta misma' a la base de datos]

saludos,
hector.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida