Saltar al contenido
publicado

Buenas tardes a todos, trato de aplicar dos filtros discriminatorios de datos procedentes de dos hojas distintas de un libro de excell, de tal forma que al seleccionar el primer filtro solo aparezca en el segundo filtro los campos que contenga el primero.

Adjunto un ejemplo y lo explico mejor.

Gracias.

Ejemplo 2.xlsb

Solucionado por Israel Cassales

Ir a la solución

Featured Replies

publicado
  • Solution

Hola,

Este código hace literalmente eso

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Me.Range("B2")) Is Nothing Then

Application.EnableEvents = False

Me.Range("B3").ClearContents

With Me.Range("B3").Validation

.Delete

Select Case Me.Range("B2").Value

Case 1

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _

Operator:=xlBetween, Formula1:="Avion,Barco"

Case 3

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _

Operator:=xlBetween, Formula1:="Barco"

Case Else

End Select

End With

Application.EnableEvents = True

End If

End Sub

Editado el por Israel Cassales

publicado

También es posible hacer eso con fórmulas directo sobre la validación de datos, creando los nombres de las tablas y usando la función INDIRECTO()

Si le interesa cree un tema similar en esa sección.

Le dejo el libro con el VBA

Ejemplo 2.xlsb

publicado
  • Autor

Muchas gracias por su ayuda.

Crear una cuenta o conéctate para comentar