Formulário de usuário do Excel VBA - Macros fáceis do Excel

Índice

Adicione os controles | Mostrar o formulário do usuário | Atribuir as macros | Teste o formulário do usuário

Este capítulo ensina como criar um Formulário de usuário do Excel VBA. O formulário de usuário que vamos criar tem a seguinte aparência:

Adicione os controles

Para adicionar os controles ao formulário do usuário, execute as seguintes etapas.

1. Abra o Editor do Visual Basic. Se o Project Explorer não estiver visível, clique em View, Project Explorer.

2. Clique em Inserir, Formulário do usuário. Se a caixa de ferramentas não aparecer automaticamente, clique em Exibir, Caixa de ferramentas. Sua tela deve ser configurada conforme abaixo.

3. Adicione os controles listados na tabela abaixo. Depois de concluído, o resultado deve ser consistente com a imagem do formulário do usuário mostrada anteriormente. Por exemplo, crie um controle de caixa de texto clicando em TextBox na caixa de ferramentas. Em seguida, você pode arrastar uma caixa de texto no formulário do usuário. Quando você chegar ao quadro Carro, lembre-se de desenhar esse quadro primeiro, antes de colocar os dois botões de opção nele.

4. Altere os nomes e legendas dos controles de acordo com a tabela abaixo. Os nomes são usados ​​no código VBA do Excel. As legendas são aquelas que aparecem na tela. É uma boa prática alterar os nomes dos controles. Isso tornará seu código mais fácil de ler. Para alterar os nomes e legendas dos controles, clique em Exibir, Janela de propriedades e clique em cada controle.

Ao controle Nome Rubrica
Userform DinnerPlannerUserForm Planejador de Jantar
Caixa de texto NameTextBox
Caixa de texto PhoneTextBox
List Box CityListBox
Caixa combo DinnerComboBox
Caixa de Seleção DateCheckBox1 13 de junho
Caixa de Seleção DateCheckBox2 20 de junho
Caixa de Seleção DateCheckBox3 27 de junho
Quadro CarFrame Carro
Botão de opção CarOptionButton1 sim
Botão de opção CarOptionButton2 Não
Caixa de texto MoneyTextBox
Botão giratório MoneySpinButton
Botão de comando OKButton OK
Botão de comando ClearButton Claro
Botão de comando CancelButton Cancelar
7 rótulos Não precisa mudar Nome :, Número de telefone :, etc.

Nota: uma caixa de combinação é uma lista suspensa de onde um usuário pode selecionar um item ou preencher sua própria escolha. Apenas um dos botões de opção pode ser selecionado.

Mostrar o formulário do usuário

Para mostrar o formulário de usuário, coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Private Sub CommandButton1_Click ()
DinnerPlannerUserForm.Show
End Sub

Agora vamos criar o Sub UserForm_Initialize. Quando você usa o método Show para o formulário do usuário, este sub será executado automaticamente.

1. Abra o Editor do Visual Basic.

2. No Explorador de Projetos, clique com o botão direito do mouse em DinnerPlannerUserForm e clique em Exibir Código.

3. Escolha Userform na lista suspensa à esquerda. Escolha Inicializar na lista suspensa à direita.

4. Adicione as seguintes linhas de código:

Sub UserForm_Initialize privado ()
'Esvaziar NameTextBox
NameTextBox.Value = ""
'Esvaziar PhoneTextBox
PhoneTextBox.Value = ""
'Esvaziar CityListBox
CityListBox.Clear
'Preencher CityListBox
Com CityListBox
.Adicionar item "San Francisco"
.Adicionar o item "Oakland"
.Adicionar item "Richmond"
Terminar com
'Empty DinnerComboBox
DinnerComboBox.Clear
'Preencher DinnerComboBox
Com DinnerComboBox
.AddItem "Italiano"
.AddItem "Chinês"
.Adicionar o item "Batatas fritas e carne"
Terminar com
'Desmarque DataCheckBoxes
DateCheckBox1.Value = False
DateCheckBox2.Value = False
DateCheckBox3.Value = False
'Definir nenhum carro como padrão
CarOptionButton2.Value = True
'Esvaziar MoneyTextBox
MoneyTextBox.Value = ""
'Definir foco em NameTextBox
NameTextBox.SetFocus
End Sub

Explicação: as caixas de texto são esvaziadas, as caixas de listagem e as caixas de combinação são preenchidas, as caixas de seleção estão desmarcadas, etc.

Atribuir as macros

Agora criamos a primeira parte do formulário de usuário. Embora já pareça legal, nada acontecerá ainda quando clicarmos nos botões de comando no formulário do usuário.

1. Abra o Editor do Visual Basic.

2. No Project Explorer, clique duas vezes em DinnerPlannerUserForm.

3. Clique duas vezes no botão de rotação do dinheiro.

4. Adicione a seguinte linha de código:

Sub MoneySpinButton_Change privado ()
MoneyTextBox.Text = MoneySpinButton.Value
End Sub

Explicação: esta linha de código atualiza a caixa de texto quando você usa o botão de rotação.

5. Clique duas vezes no botão OK.

6. Adicione as seguintes linhas de código:

Sub privado OKButton_Click ()
Dim emptyRow As Long
'Tornar a Folha1 ativa
Sheet1.Activate
'Determine emptyRow
emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1
'Transferir informação
Células (emptyRow, 1) .Value = NameTextBox.Value
Células (emptyRow, 2) .Value = PhoneTextBox.Value
Células (emptyRow, 3) .Value = CityListBox.Value
Células (emptyRow, 4) .Value = DinnerComboBox.Value
If DateCheckBox1.Value = True Then Cells (emptyRow, 5) .Value = DateCheckBox1.Caption
If DateCheckBox2.Value = True Then Cells (emptyRow, 5) .Value = Cells (emptyRow, 5) .Value & "" & DateCheckBox2.Caption
If DateCheckBox3.Value = True Then Cells (emptyRow, 5) .Value = Cells (emptyRow, 5) .Value & "" & DateCheckBox3.Caption
If CarOptionButton1.Value = True Then
Células (emptyRow, 6) .Value = "Sim"
Outro
Células (emptyRow, 6) .Value = "Não"
Fim se
Células (emptyRow, 7) .Value = MoneyTextBox.Value
End Sub

Explicação: primeiro, ativamos a Folha1. Em seguida, determinamos emptyRow. A variável emptyRow é a primeira linha vazia e aumenta sempre que um registro é adicionado. Por fim, transferimos as informações do Userform para as colunas específicas de emptyRow.

7. Clique duas vezes no botão Limpar.

8. Adicione a seguinte linha de código:

Private Sub ClearButton_Click ()
Chame UserForm_Initialize
End Sub

Explicação: esta linha de código chama o Sub UserForm_Initialize quando você clica no botão Limpar.

9. Clique duas vezes no botão Cancelar.

10. Adicione a seguinte linha de código:

Sub particular CancelButton_Click ()
Descarregue-me
End Sub

Explicação: esta linha de código fecha o formulário do usuário quando você clica no botão Cancelar.

Teste o formulário do usuário

Saia do Editor do Visual Basic, insira os rótulos mostrados abaixo na linha 1 e teste o formulário do usuário.

Resultado:

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave