Tengo dos conjuntos de listas dinámicas List1
yList2
Las listas se crean usando OFFSET y COUNTA, por lo que las nuevas entradas están contenidas dentro de la lista, etc.
En la celda A1 quiero usar la función de lista de validación de datos, pero quiero que haga referencia a AMBAS listas,
¿Me dijeron que esto tendría que ser hecho por VBA?
Alguna sugerencia ?
Actualmente uso:
=(COUNTIF(list1,A1)+COUNTIF(list2,A1))>=1
En la sección 'Personalizado', pero esto no me permite tener la opción de lista desplegable
Respuesta1
puedes usar una macro para forzar los valores en una sola lista
Sub Validation()
Dim a$, el As Range
' SET THE LIST RANGE, YOU CAN USE MORE THAN 2
Dim rng1 As Range, rng2 As Range
'DEFINE THE CELLS USED FOR THE LIST, NAMED RANGE OR INDIRECT CAN BE USED
Set rng1 = Range("List1")
Set rng2 = Range("List2")
'COLLECT VALUES FROM LISTS
For Each el In rng1
a = a & el.Value & ","
Next
For Each el In rng2
a = a & el.Value & ","
Next
' SET DESTIANTION OF DATA VALIDATION RULE
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, Formula1:=a
End With
Set rng1 = Nothing
Set rng2 = Nothing
End Sub
El único inconveniente es que la macro debería ejecutarse cada vez que agregue un valor a su lista, tal vez podría ingresarlo mediante un cambio en el libro de trabajo.