Como Filtrar por medio de una macro varios Criterios

Quisiera molestarlos con la siguiente Inquietud: Estoy programando una macro en la cual unos de los pasos es filtrar por la Columna I por la palabra "negocio". Y luego Filtrar por la columna F por las "Recomendación" y por "Aprobación"

El inconvenientes es que en la base, algunas beses "aprobación" puede no estar, pero las veces que si esta debo filtrarlo:

Hice lo siguiente estructura:

ActiveSheet.Range("$A:$N").AutoFilter Field:=9, _
Criteria1:="=*Negocio*"

Range("F1").Select

    ActiveSheet.Range("$A$:$N").AutoFilter Field:=6, Criteria1:= _

        "=Recomendacion", Operator:=xlOr, Criteria2:= "=Aprobacion"

Pero como en este caso "Aprobación" no tenia registros no trajo tampoco el filtro de Recomendacion

¿Qué puedo hacer para este caso?

2 Respuestas

Respuesta
1

Ruben Guevara,

Que raro que no ejecute bien el procedimiento, así no haya uno de los criterios debería de realizar el filtro.

Noto que en los criterios las palabras Recomendacion y Aprobacion están escritos sin la tilde, quizás en tu tabla dichas palabras están escritas con tilde, es por ello que no filtra dado que no coinciden con los criterios.

En caso no sea así, por favor en lo posible trata de adjuntar un archivo excel con el ejemplo de tu consulta para que se pueda revisar y haya un mejor entendimiento de tu problema.

Estaré atento a tu respuesta.

Ander GS

Respuesta
1

En tu código tienes esta instrucción:

On Error Resume Next

Lo que pasa es que en esta instrucción:

ActiveSheet.Range("$A$:$N").AutoFilter Field:=6

Pusiste un símbolo $ de más. La macro debe enviarte un error "1004 en tiempo de ejecución".

Pero como probablemente tienes la instrucción On Error, la macro no se detiene y pareciera que no está haciendo el filtro.

Debe ser así: ActiveSheet.Range("$A:$N")

    ActiveSheet.Range("$A:$N").AutoFilter Field:=9, _
        Criteria1:="=*Negocio*"
    ActiveSheet.Range("$A:$N").AutoFilter Field:=6, Criteria1:= _
        "=Recomendacion", Operator:=xlOr, Criteria2:="=Aprobacion"

Te recomiendo, en la medida de lo posible, no utilizar la instrucción On Error, y tratar de resolver cualquier error que pudiera ocurrir utilizando código de vba.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas