Como preencher uma caixa de texto com base na seleção de uma caixa de combinação no UserForm no Excel?
Suponha que você tenha uma tabela contendo uma coluna Nome e outra Número do Funcionário, conforme mostrado na captura de tela abaixo. Agora, você precisa criar um Userform incorporando uma caixa de combinação que colete todos os nomes e uma caixa de texto que preencha automaticamente o número do funcionário correspondente ao selecionar um nome na caixa de combinação. O método neste artigo pode ajudá-lo a realizar isso.
Preencher caixa de texto com base na seleção da caixa de combinação no Userform com VBA
Preencher caixa de texto com base na seleção da caixa de combinação no Userform com VBA
Por favor, siga as instruções abaixo para preencher a caixa de texto com o valor correspondente com base na seleção da caixa de combinação no Userform.
1. Pressione as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Userform. Veja a captura de tela:
3. Em seguida, insira um controle de Caixa de Combinação e um controle de Caixa de Texto no Userform criado, conforme mostrado na captura de tela abaixo.
4. Clique com o botão direito em qualquer espaço em branco do Userform e, em seguida, clique em Ver Código no menu de contexto. Veja a captura de tela:
5. Na janela Userform (Código) que se abre, copie e cole o código VBA abaixo para substituir o original.
Código VBA: Preencher caixa de texto com base na seleção da caixa de combinação no Userform
Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
Set xRg = Worksheets("Sheet5").Range("A2:B8")
Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub
Observação: No código, A2:B2 é o intervalo que contém os valores que você deseja preencher separadamente na caixa de combinação e na caixa de texto do Userform. E Planilha5 é o nome da planilha que contém o intervalo de dados. Altere-os conforme necessário.
6. Pressione as teclas Alt + Q para sair da janela Microsoft Visual Basic for Applications.
7. Clique em Desenvolvedor > Inserir > Botão de Comando (Controle ActiveX) para inserir um botão de comando na planilha.
8. Clique com o botão direito na guia da planilha e selecione Ver Código no menu de contexto. Depois, copie e cole o código VBA na janela de código.
Código VBA: Exibir userform
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Desative o Modo de Design na pasta de trabalho.
Clique no botão de comando para abrir o userform especificado. Então você pode ver que todos os nomes estão coletados na caixa de combinação. Ao selecionar um nome na caixa de combinação, o número do funcionário correspondente será automaticamente preenchido na caixa de texto, conforme mostrado na captura de tela abaixo.
Artigos relacionados:
- Como preencher uma caixa de combinação com dados específicos ao abrir a Pasta de Trabalho?
- Como preencher automaticamente outras células ao selecionar valores em uma lista suspensa no Excel?
- Como preencher automaticamente outras células ao selecionar valores em uma lista suspensa no Excel?
- Como preencher resultados de pesquisa do Google em uma planilha no Excel?
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface de abas para o Office e facilita muito seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!