Sintomas
Quando executa um código macro do Microsoft Excel ou outro código de programação que define as regras de validação de dados de uma célula como uma lista de entradas válidas, todos os itens da lista de validação de dados da célula aparecem numa única linha.
Causa
Este comportamento ocorre quando as seguintes condições são verdadeiras:
-
A definição de separador de listas (em opções regionais no painel de controlo) é outra coisa que não uma Vírgula (,). Por exemplo, se a sua configuração local for a Alemanha, o separador da lista é um ponto e vírgula.
-
O macro para validação de dados utiliza o separador da lista para especificar as entradas de células válidas.
-
O código macro especifica explicitamente a lista, em vez de apontar para um intervalo de células onde as entradas válidas estão listadas.
Solução
Quando criar um macro para especificar uma lista específica de entradas válidas, utilize sempre uma vírgula (,) como separador da sua lista.
Mais Informações
No Excel, o Microsoft Visual Basic para Aplicações usa sempre a vírgula como separador da lista. Isto permite-lhe executar uma macro em computadores que têm diferentes configurações locais, sem ter de editar o seu código. Ao passar uma matriz delimitada de vma usando VBA (XLValidateList Formula1) para validação de dados aplica-se uma limitação de caracteres de 255 caracteres. Quando se executam uma macro que utiliza um separador de listas para alterar uma definição, a macro converte a vírgula para o separador da lista regional local. Por exemplo, isto ocorre se a macro criar uma lista de validação de dados, ou introduzir uma fórmula numa célula utilizando o comando Range.Formula(número 1,número2).
Referências
Para obter mais informações sobre a validação de dados no Excel, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
211485 Descrição e exemplos de validação de dados no Excel