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

#16 DANILO ARANGO
01/08/2005 - 06:36 | Informe spam
HOLA HM

El condigo vuelve a sacar error.. en las lineas que quedan en rojo al copiar
el codigo en un modulo te puse un * al final.

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


Aunque te pido que me ayudes con la primera exposicion, que es la de borrar
los resultados de los filtros, y te pregunto si tu me puedes ayudar con el
problema que tengo en Acces (duplicacion de registros en una consulta), este
proceso cada dia se me esta agrandando mas y me esta tocando borrar muchos
registros manualmente.

pd. no te habia respondido por que no estaba en la ciudad.

Muchas gracias
Danilo A.
Respuesta Responder a este mensaje
#17 Héctor Miguel
01/08/2005 - 07:11 | Informe spam
hola, Dnilo !

... vuelve a sacar error.. en las lineas que quedan en rojo al copiar el codigo en un modulo te puse un * al final.
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



1) o sea que... [practicamente] no esta 'reconociendo' NADA [ni siquiera una 'simple' asignacion de texto a una variable de texto] ?
como en la linea -> Col = "a" ??? [cuando la variable 'Col' ha sido declarada como tipo de datos 'String' ???
2) [pregunta]: si revisas en el proyecto de macros... [menu] herramientas / referencias...
-> aparece alguna que tenga una 'marca' como de 'FALTA: o... 'MISSING:' -?-

... si tu me puedes ayudar con el problema que tengo en Acces (duplicacion de registros en una consulta)
este proceso cada dia se me esta agrandando mas y me esta tocando borrar muchos registros manualmente.



3) [access no es 'mi fuerte'] :-(( si comentas las instrucciones/consultas/... que utilizas para elaborar filtros en access ?
[probablemente] en algo te podria 'auxilar' :D

comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#18 KL
01/08/2005 - 08:27 | Informe spam
Hola Danilo,

?Solo de paso - has probado la solucion que te habia ofrecido haciendo uso
del Filtro Avanzado?

Saludos,
KL

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


"DANILO ARANGO" wrote in message
news:
HOLA HM

El condigo vuelve a sacar error.. en las lineas que quedan en rojo al
copiar
el codigo en un modulo te puse un * al final.

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


Aunque te pido que me ayudes con la primera exposicion, que es la de
borrar
los resultados de los filtros, y te pregunto si tu me puedes ayudar con el
problema que tengo en Acces (duplicacion de registros en una consulta),
este
proceso cada dia se me esta agrandando mas y me esta tocando borrar muchos
registros manualmente.

pd. no te habia respondido por que no estaba en la ciudad.

Muchas gracias
Danilo A.
Respuesta Responder a este mensaje
#19 DANILO ARANGO
02/08/2005 - 04:06 | Informe spam
hola HM

Estuve mirando en Herramientas-referencias y en referencias disponibles, hay
algunas seleccionadas, sera que que me hace falta alguna??

Intento modificar una linea y al salir de la linea me dice:Error de
compilacion: se experaba expresion. Y me selecciona el simbolo & ( Col =
"a")


Gracias.
Danilo A.
Respuesta Responder a este mensaje
#20 DANILO ARANGO
02/08/2005 - 04:13 | Informe spam
HOLA KL

Si aplique el filtro avanzado, la opcion solo registros unicos, el problema
es que en realidad si se presentan registros duplicados, ejm: hay dos
registros iguales, pero el cruce en Acces me lo duplica hasta 4 o 6 veces
entoces en esta caso hay que borrar los 2 o 4 restantes y dejar los 2 que
realmente son.

KL el codigo que me diste tambien saca el mismo error al del codigo que me
dio HM.
Que podra estar pasando
Te mando una imagen al correo de lo que esta pasando.

Muchas Gracias.
Danilo A.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida