
Criei um formulário de usuário no Excel 2016 que contém várias caixas de combinação, várias caixas de texto, dois botões de opção e um botão de envio. Primeiro, como faço para que as caixas de combinação façam referência a uma lista que já configurei?
Responder1
Você pode disparar um evento usando o manipulador de eventos form_activate. Clique com o botão direito no seu formulário de usuário na janela do projeto e clique em "Ver código"
Cole algo desta natureza na janela de código:
Private Sub UserForm_Activate()
ComboBox1.AddItem ("1")
ComboBox1.AddItem ("2")
ComboBox1.AddItem ("3")
End Sub
Isso carregará itens na caixa de combinação. Você também pode alterá-lo para algo assim:
Private Sub UserForm_Activate()
ComboBox1.AddItem (range("'Sheet1'!A1").value)
ComboBox1.AddItem (range("'Sheet1'!A2").value)
End Sub
se os itens da sua caixa de combinação estiverem em algum lugar da planilha do Excel.
Depois que o evento Activate for criado, você precisará de algo que abra o formulário (o que tenho certeza que você já descobriu). Então, algo assim:
Public Sub show_form()
UserForm1.Show
End Sub
então você chamaria o evento show_form por um botão ou algo na planilha do Excel.
Exemplo completo
Aqui está um exemplo completo:
Crie uma nova pasta de trabalho. Coloque alguns dados em A1 e A2. Mantenha o nome da planilha padrão "Planilha1"
Pressione Alt F11 para abrir o lado do VBA. clique em Inserir > UserForm
UserForm1 aparece. Clique com o botão direito e clique em Ver código. Cole isto:
Private Sub UserForm_Activate()
ComboBox1.AddItem (Range("'Sheet1'!A1").Value)
ComboBox1.AddItem (Range("'Sheet1'!A2").Value)
End Sub
Clique duas vezes em ThisWorkBook na árvore. Clique em Inserir > Módulo. Cole isto:
Public Sub show_form()
UserForm1.Show
End Sub
Sua árvore deverá ficar assim:
Agora, na pasta de trabalho do Excel, adicione uma forma como uma caixa. Clique com o botão direito na sua forma e clique em Atribuir Macro. Selecione mostrar_form.
Agora tente correr. Clique na forma que você tinha. Isso deve mostrar o formulário. Quando você clica no menu suspenso, dois itens devem ser preenchidos.
Responder2
Aqui está um exemplo completo:
Crie uma nova pasta de trabalho. Coloque alguns dados em A1 e A2. Mantenha o nome da planilha padrão "Planilha1"
Pressione Alt F11 para abrir o lado do VBA. clique em Inserir > UserForm
UserForm1 aparece. Clique com o botão direito e clique em Ver código. Cole isto:
Private Sub UserForm_Activate() ComboBox1.AddItem (Range("'Sheet1'!A1").Value) ComboBox1.AddItem (Range("'Sheet1'!A2").Value) End Sub Clique duas vezes em ThisWorkBook na árvore. Clique em Inserir > Módulo. Cole isto:
Sub público show_form() UserForm1.Show End Sub