Macros de usuário do Excel 2016, Windows 7

0

Eu 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 as caixas de combinação referenciarem uma lista que eu já configurei?

    
por R.Conklin 21.06.2017 / 17:56

2 respostas

0

Você pode disparar um evento usando o manipulador de eventos form_activate. Clique com o botão direito do mouse no seu userform na janela do projeto e clique em "View Code"

Cole algo dessa 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 seus itens da combobox estiverem na planilha do excel em algum lugar.

Uma vez que o evento de ativação é criado, você precisa de algo que abre o formulário em primeiro lugar (que eu 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 folha padrão de "Folha1"

Pressione Alt F11 para abrir o lado do VBA. clique em Inserir > UserForm

UserForm1 aparece. Clique com o botão direito e clique em View Code. Cole isto:

Private Sub UserForm_Activate()
    ComboBox1.AddItem (Range("'Sheet1'!A1").Value)
    ComboBox1.AddItem (Range("'Sheet1'!A2").Value)
End Sub

Clique duas vezes no ThisWorkBook na árvore. Clique em Inserir > Módulo. Cole isto:

Public Sub show_form()
    UserForm1.Show
End Sub

Sua árvore deve ficar assim:

Agora, na pasta de trabalho do Excel, adicione uma forma como uma caixa. Clique com o botão direito do mouse em sua forma e clique em Atribuir Macro. Selecione show_form.

Agora tente executar. Clique na forma que você tinha. Isso deve mostrar o formulário. Quando você clica no menu suspenso, ele deve ter dois itens preenchidos.

    
por 21.06.2017 / 18:07
0

Aqui está um exemplo completo:

Crie uma nova pasta de trabalho. Coloque alguns dados em A1 e A2. Mantenha o nome da folha padrão de "Folha1"

Pressione Alt F11 para abrir o lado do VBA. clique em Inserir > UserForm

UserForm1 aparece. Clique com o botão direito e clique em View Code. Cole isto:

Sub UserForm_Activate () privado     ComboBox1.AddItem (Range ("'Sheet1'! A1"). Valor)     ComboBox1.AddItem (Range ("'Sheet1'! A2"). Valor) End Sub Clique duas vezes no ThisWorkBook na árvore. Clique em Inserir > Módulo. Cole isto:

Public Sub show_form ()     UserForm1.Show End Sub

    
por 22.06.2017 / 17:09