VBA / VB6 - Forçar uma caixa de combinação para abrir

O Excel, quando combinado com o VBA, forma uma ferramenta poderosa para criar soluções de análise de dados personalizadas e automatizadas. O VBA tem controles internos como ComboBox, que permitem aos usuários selecionar de uma lista já preenchida ou fornecer sua própria entrada. Um pode vincular dois ComboBoxes usando o método SetFocus em um código personalizado. Depois disso, o usuário pode executar outro código que usa o código de chave retornando de um ComboBox para inicializar o outro. Esse recurso ajuda o programador a configurar um código de forma que, uma vez feita uma seleção no ComboBox1, ele faça com que o segundo ComboBox seja aberto automaticamente.

Para forçar uma caixa de combinação para abrir, há a seguinte função ...

 ComboBox1.DropDown 

Mas ... para isso temos o foco do ComboBox, e se o comando de outro controle ele não abrir.

Para abrir outra ComboBox, você deve usar um truque aqui:

  • Coloque 2 ComboBox em uma planilha ou um formulário de usuário e nomeá-los respectivamente como ComboBox1 e CombBox2
  • Use o seguinte código para vincular os dois ComboBox:

 Private Sub ComboBox1_Change () '========== Combinação de uma única linha ========= 1' ComboBox2.Activate '========== Combo de um UserForm ou VB6 ========= 2 'ComboBox2.SetFocus' ================================== ======== SendKeys "^ (F4)" End Sub Privado Sub ComboBox2_KeyDown (ByVal KeyCode Como MSForms.ReturnInteger, ByVal Shift As Integer) Se KeyCode = 16 Then ComboBox2.DropDown End Se End Sub 

Limpando a linha 1 ou 2 dependendo da localização da ComboBox.

Resultado: quando você faz uma seleção em um ComboBox 1, o segundo abre automaticamente.

Download exemplo para o Excel 97 - 2003

  • Servidor 1: //sd-5.archive-host.com/membres/up/b05c9f3873215e8d2df70f056b74dce61198c32d/ASTUCES/3_combo__DropDown.xls

Artigo Anterior Próximo Artigo

Principais Dicas