Macros de formulário de usuário do Excel 2016, Windows 7

Macros de formulário de usuário do Excel 2016, Windows 7

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:

insira a descrição da imagem aqui

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

informação relacionada