Excel, listas suspensas

6

Quando criei listas suspensas personalizadas no Excel, minhas planilhas do Excel não diminuem para uma lista menor quando eu começo a digitar na célula da lista suspensa.

Por exemplo, se minha lista suspensa é para Estados dos EUA [AL ... WY] e digito o caractere 'N', por que a minha lista de opções abaixo não me dá um subconjunto de opções? .NJ ...] O subconjunto de autocompletes pode ser feito?

Nota: Eu criei minhas listas suspensas do Excel da seguinte forma: link

    
por Daniel 21.10.2009 / 21:20

1 resposta

3

Isso porque não é assim que a validação de dados funciona no Excel. Você precisa usar um controle X ativo. Consulte a página de validação de dados do Contextures em geral e ela Validação de dados ComboBox e ComboBox Depend exemplos em particular.

Atualizar

Se você usar seus exemplos, substitua o manipulador de eventos TempCombo_KeyDown por TempCombo_KeyUp. Pelo menos no meu excel (excel 2003 SP2) ele trava.

Mais detalhes sobre o exemplo para o qual eu indiquei:

Não sei por que a alteração do TempCombo_KeyDown para o TempCombo_KeyUp funciona, mas isso pode estar relacionado ao KeyCode. O MSDN implica que KeyCode é, na verdade, um ponteiro e é para todos os propósitos práticos passado por ref, mesmo que a assinatura diga ByVal. A falha sempre acontece na linha End Sub do TempCombo_KeyDown.

Isso é apenas uma suposição minha, mas ao processar o evento KeyDown, depois que a nova célula for ativada, se ela tiver TempCombo, o objeto será ativado & pode processar o evento KeyUp. Se a célula de destino não ativar o TempCombo, o evento KeyUp não terá uma referência de objeto válida e você terá uma falha desagradável.

    
por 21.10.2009 / 22:05