O valor da célula de controle do formulário suspenso do Excel não é atualizado quando a lista é alterada

0

Eu tenho uma planilha com controles de formulário Combobox (dropdowns) incorporados para o qual o intervalo de entrada é um intervalo de nome dinâmico (não suspenso de validação).

Quando o intervalo é alterado, os valores listados no menu suspenso são modificados de acordo, mas o valor da célula vinculada não é atualizado, mesmo que o valor exibido no menu suspenso seja modificado.

A pasta de trabalho deve ser livre de macro, por isso não posso usar o VBA para forçar uma atualização do valor da célula.

Minha busca na internet parece indicar que é impossível, mas eu poderia ter perdido alguma coisa.

Editar:

Não há conteúdo externo na pasta de trabalho nem links, por isso, atualizar o link externo não ajuda.

Os intervalos dinâmicos nomeados são todos internos, por exemplo, um intervalo nomeado (Choice_List) pode se referir a =OFFSET(Test!$A$2:$A$11;0;0;Test!$B$2) .

Quando a célula Test!$B$2 alterar a lista exibida, mude de acordo, mas se a nova lista contiver menos elementos do que o índice de item atualmente selecionado, a lista suspensa exibirá o último item da lista e o valor da célula vinculada não vai mudar.

Configurações:

Escolhainicial:

Depois de alterar o número máximo de itens:

    
por Vincent G 27.06.2018 / 11:44

1 resposta

1

Eu fiz algumas investigações e isso parece mais um bug do Micro $ oft.

O valor interno armazenado no objeto DropDown correspondente à ComboBox é alterado corretamente para 2, mas a célula vinculada não é atualizada com o novo valor.

Aparentemente, isso ocorre porque nem o usuário nem algum código VBA alterou o valor, mas isso aconteceu como resultado de uma "correção" (pelo próprio Excel!) necessária para trazer o valor de volta a um intervalo válido após a própria lista. encolhido.

Nada que eu tentei poderia forçar uma atualização, nem mesmo manualmente (outra que selecionar um valor diferente da ComboBox, é claro).

A solução somente é usar o VBA. A melhor opção pode ser criar um suplemento contendo o código. Dessa forma, a pasta de trabalho não contém a macro.

    
por 27.06.2018 / 15:18