Como condicionar una macro en excel dependiendo de los datos en las celdas

Tengo una macro que corre un filtro avanzado en excel.

La cuestión es que si las celdas que condicionan el filtro avanzado están vacías me trae toda la información. La siguiente imagen muestra los campos que condicionan el filtro avanzado.

Deseo que si todas están vacías no corra la macro. Ya que me traería toda la base y no lo deseo.

Este es mi código BVA en el modulo 1

2 respuestas

Respuesta
2

Puede ser así

Después de esta línea:

Range("D2").Select

Pon lo siguiente:

    If Range("B2") = "" And Range("C2") = "" And Range("D2") = "" And _
       Range("E2") = "" And Range("F2") = "" And Range("G2") = "" And _
       Range("H2") = "" And Range("I2") = "" Then
       Exit Sub
    End If

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Respuesta
2

Más sencillo cuentas las celdas en blanco con la función contara si el resultado es mayor a 0 simplemente no hace nada

cuenta = WorksheetFunction.CountBlank(Range("b2:i2"))
If cuenta > 0 Then End

Hola, en que punto precisamente debería escribir eso código?

sheets("maestro devoluciones").select
range("d2").select
cuenta = WorksheetFunction.CountBlank(Range("b2:i2"))
If cuenta > 0 Then End
range("base_devoluciones"). Advancedfilter...

asi debe quedar la linea solo ajusta los rangos de la formula a tus datos, como dije si la cuenta de los espacios en blanco es mayor a 0 la macro termina el programa caso contrario realiza el filtrado.

La pregunta no admite más respuestas

Más respuestas relacionadas