Validação de dados de 2 listas EXCEL 2010

1

Eu tenho dois conjuntos de listas dinâmicas, List1 & List2

As listas são criadas usando OFFSET e COUNTA, portanto, novas entradas estão contidas na lista, etc.

Na célula A1 eu quero usar a função de lista de validação de dados, mas eu quero referenciar ambas as listas,

Foi-me dito que isso precisaria ser feito pelo VBA?

Alguma sugestão?

Eu uso atualmente:

=(COUNTIF(list1,A1)+COUNTIF(list2,A1))>=1

Na seção "Personalizada", mas isso não me permite ter a opção suspensa de lista

    
por PeterH 29.09.2017 / 10:38

1 resposta

1

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 toda vez que você adicionasse um valor à sua lista, você poderia colocar isso por meio de uma alteração na pasta de trabalho, talvez

    
por 29.09.2017 / 10:54