Use uma função definida pelo usuário para validação de dados

0

Eu criei um intervalo nomeado que é o resultado de uma função definidora do usuário.

Digamos que minha raiva tenha o nome List e tenha três itens, se eu selecionar três células e inserir =List e pressionar Ctrl + Deslocar + Digite , recebo meus três itens nas células ... então tudo parece bem.

Se eu tentar usar o intervalo como uma fonte de validação de dados (como uma lista), recebo a "Origem atualmente avalia um erro".

Esta é uma limitação do Excel? Se não o que está errado, e como posso fazer?

A função:

Public Function testarrayreturn() As Variant
    Dim Arr(2) As String
    Arr(0) = "a"
    Arr(1) = "b"
    Arr(2) = "c"

    testarrayreturn = Application.Transpose(Arr)
End Function

O intervalo nomeado é definido como testarrayreturn()

    
por gregseth 14.08.2014 / 17:20

1 resposta

0

TL; DR não é possível conforme descrito (cf. este post em SO ).

Resposta longa (er): há uma solução alternativa. A função definida pelo usuário deve retornar uma Range não uma matriz de valor. Portanto, a solução é usar uma planilha descartável para "colar" dados temporários.

Como evitar dados temporários é o motivo exato pelo qual eu queria usar uma UDF, isso é muito ruim, mas pode ser útil para outras pessoas.

    
por 20.08.2014 / 08:52