Eu tenho dois conjuntos de listas dinâmicas List1
eList2
As listas são criadas usando OFFSET e COUNTA, portanto, novas entradas estão contidas na lista, etc.
Na célula A1, quero usar a função de lista de validação de dados, mas quero que ela faça referência a AMBAS as listas,
Disseram-me que isso precisaria ser feito pelo VBA?
Alguma sugestão ?
Atualmente uso:
=(COUNTIF(list1,A1)+COUNTIF(list2,A1))>=1
Na seção 'Personalizado', mas isso não me permite ter a opção de lista suspensa
Responder1
você pode usar uma macro para forçar os valores em uma única 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
A única desvantagem é que a macro precisaria ser executada cada vez que você adicionasse um valor à sua lista, você poderia inserir isso por meio de uma alteração na pasta de trabalho, talvez