Formulário de usuário do Excel VBA com várias páginas - Macros fáceis do Excel

Índice

A seguir, veremos um programa em Excel VBA que cria um formulário de usuário que contém várias páginas. Este formulário do usuário também contém imagens.

O Controle de múltiplas páginas contém duas páginas. Na página 1, o usuário pode preencher seus dados pessoais. Na página 2, o usuário pode indicar de qual pintura gosta mais.

Para criar este formulário de 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 o controle de várias páginas, rótulos, caixas de texto (primeiro no topo, a segunda abaixo da primeira), quadro, botões de opção (primeiro à esquerda, o segundo à direita), caixa de listagem, controle de imagem e botão de comando. Depois de concluído, o resultado deve ser consistente com a versão vazia do formulário do usuário mostrado anteriormente. Por exemplo, crie um controle Multipage clicando em Multipage na caixa de ferramentas. Em seguida, você pode arrastar um controle Multipage no formulário do usuário. Quando você chegar ao quadro Gênero, lembre-se de desenhar esse quadro primeiro, antes de colocar os dois botões de opção nele.

4. Você pode alterar os nomes e as legendas dos controles. 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, mas não é necessário aqui porque temos apenas alguns controles neste exemplo. Para alterar a legenda do formulário do usuário, guias de múltiplas páginas, rótulos, quadro, botões de opção e botão de comando, clique em Exibir, Janela de propriedades e clique em cada controle.

5. 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 ()
UserForm1.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.

6. Abra o Editor do Visual Basic.

7. No Project Explorer, clique com o botão direito do mouse em UserForm1 e clique em View Code.

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

9. Adicione as seguintes linhas de código:

Sub UserForm_Initialize privado ()
Com ListBox1
.Adicionar o item "Montanhas"
.AddItem "Pôr-do-sol"
.Adicionar item "Praia"
.Adicionar item "Inverno"
Terminar com
End Sub

Explicação: a caixa de listagem na página 2 será preenchida.

Agora criamos a primeira parte do formulário de usuário. Embora já pareça legal, nada acontecerá ainda quando selecionarmos um item da caixa de listagem ou quando clicarmos no botão OK.

10. Baixe as imagens (lado direito desta página) e adicione-as a "C: \ teste \"

11. No Project Explorer, clique duas vezes em UserForm1.

12. Clique duas vezes na caixa de lista.

13. Adicione as seguintes linhas de código:

Sub ListBox1_Click privada ()
If ListBox1.ListIndex = 0 Then
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Fim se
If ListBox1.ListIndex = 1 Then
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Fim se
If ListBox1.ListIndex = 2 Then
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Fim se
If ListBox1.ListIndex = 3 Then
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Fim se
End Sub

Explicação: essas linhas de código carregam uma imagem dependendo do item selecionado na caixa de listagem.

14. Clique duas vezes no botão OK.

15. Adicione as seguintes linhas de código:

Private Sub CommandButton1_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 = TextBox1.Value
Células (emptyRow, 2) .Value = TextBox2.Value
If OptionButton1.Value = True Then
Células (emptyRow, 3) .Value = "Masculino"
Outro
Células (emptyRow, 3) .Value = "Feminino"
Fim se
Células (emptyRow, 4) .Value = ListBox1.Value
'Fechar formulário de usuário
Descarregue-me
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. Em seguida, transferimos as informações do formulário de usuário para as colunas específicas de emptyRow. Por fim, fechamos o Userform.

16. 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