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

#11 DANILO ARANGO
28/07/2005 - 06:17 | Informe spam
HOLA HM

El codigo me saca error, error de sintaxis.

Gracias por tu ayuda
Danilo .




"Héctor Miguel" escribió:

Mostrar la cita
#12 Héctor Miguel
28/07/2005 - 06:41 | Informe spam
hola, Danilo !

Mostrar la cita
podrias indicar en cual linea 'salta' el error ?

saludos,
hector.
#13 DANILO ARANGO
28/07/2005 - 06:56 | Informe spam
hola HM

Col = "a"

Fx = Range(Range(Col & F1), Range(Col & "65536").End(xlUp)).Rows.Count


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))


En esas tres lineas inclusive al copiar el codigo quedan en rojo

Gracias HM





"Héctor Miguel" escribió:

Mostrar la cita
#14 Héctor Miguel
28/07/2005 - 07:11 | Informe spam
hola, Danilo !

Mostrar la cita
[seguramente] se debio a los 'saltos de linea' que 'causa'
un texto largo en los mensajes del grupo :((
prueba cambiando [toda] la macro propuesta a lo siguiente:
==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(Col & "65536").End(xlUp).Row
For Fila = F1 To Fx
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

comentas?
saludos,
hector.
#15 KL
28/07/2005 - 10:40 | Informe spam
Hola Danilo,

Yo, la verdad, sigo con la idea del Filtro Avanzado. Prueba este codigo
teniendo la hoja con los datos duplicados activada: y lanzandolo desde un
modulo estandar (de hecho desde cualquier modulo)

Sub EliminarDuplicados()
Application.ScreenUpdating = False
With ActiveWorkbook
Set rng = .ActiveSheet.UsedRange
'o indica el rango expresamente.
.Worksheets.Add After:=.ActiveSheet
.ActiveSheet.Name = "Datos Filtrados"
rng.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("A1"), Unique:=True
End With
Application.ScreenUpdating = True
End Sub


Saludos,
KL


"DANILO ARANGO" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida