Filtro múltiple con Select Case target.Address

Hola,

Tengo un filtro avanzado con varios criterios de filtrado de fechas y quisiera integrarlos en una celda con lista desplegable. ¿Se puede hacer con Select Case Target.Address o no es lo apropiado con este código?

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a3:a4,b3:b4,c4:f4,g3:g4]) Is Nothing Then Exit Sub


[a2].Resize(, 10).ClearContents

---criterio "desde/hasta fecha de entrada"---

If [a3] <> "" And [a4] = "" Then [a2:b2] = Array(">=" & [a3].Formula, "<=" & [a3].Formula)
If [a3] = "" And [a4] <> "" Then [a2:b2] = Array(">=" & [a4].Formula, "<=" & [a4].Formula)
If [a3] <> "" And [a4] <> "" Then [a2:b2] = Array(">=" & [a3].Formula, "<=" & [a4].Formula)

---criterio "desde/hasta fecha de salida"---
If [b3] <> "" And [b4] = "" Then [c2:d2] = Array(">=" & [b3].Formula, "<=" & [b3].Formula)
If [b3] = "" And [b4] <> "" Then [c2:d2] = Array(">=" & [b4].Formula, "<=" & [b4].Formula)
If [b3] <> "" And [b4] <> "" Then [c2:d2] = Array(">=" & [b3].Formula, "<=" & [b4].Formula)

---criterio "desde/hasta fecha de pago"---
If [g3] <> "" And [g4] = "" Then [i2:j2] = Array(">=" & [g3].Formula, "<=" & [g3].Formula)
If [g3] = "" And [g4] <> "" Then [i2:j2] = Array(">=" & [g4].Formula, "<=" & [g4].Formula)
If [g3] <> "" And [g4] <> "" Then [i2:j2] = Array(">=" & [g3].Formula, "<=" & [g4].Formula)

---criterios varios---
[e2:h2] = [c4:f4].Value


[a1:b1] = [a6].Value
[c1:d1] = [b6].Value
[i1:j1] = [g6].Value
[e1:h1] = [c6:f6].Value


[a6].CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=[a1:j2], Unique:=False

End Sub

Gracias por sus aportes.

Añade tu respuesta

Haz clic para o