Академический Документы
Профессиональный Документы
Культура Документы
http://www.bianchi.pro.br/vba/vba_p4.php
Introduo
Um formulrio de usurio uma caixa de dilogo personalizada que pode ser usada quando as caixas das funes MsgBox e InputBox no so suficientes. Os objetos em um formulrio de usurio do Excel, como botes e caixas de texto, caixas de combinao e outros so chamados de controles. O formulrio usado principalmente como uma plataforma na qual so adicionados os controles necessrios para sua funcionalidade.
Projeto
Para o aprendizado bsico ser criado um projeto exemplo bastante simples que tem como objetivo apenas efetuar o registro de entrada de peas para suprimentos de uma Loja de materiais eltricos numa planilha. Abra o aplicativo Excel e na planilha Plan1 digite o cabealho da aplicao como mostrado na figura 1 e salve a planilha na pasta de sua preferncia com o nome Materiais:
1 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 1
Formulrio
No Excel pressione as teclas Alt+F11 para abrir o Editor do Visual Basic VBE. Para criar a caixa de dilogo personalizada, no Editor do Visual Basic, clique no menu Inserir e, em seguida, na opo UserForm. Surge na tela um formulrio vazio e uma Caixa de ferramentas contendo os controles a serem utilizados para a elaborao do formulrio, figura 2. Caso a Caixa de ferramentas no aparea automaticamente na tela ao inserir o UserForm, clique em Caixa de ferramentas no menu Inserir.
2 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 2
Ttulo do formulrio
Clique no boto Janela 'Propriedades' na Barra de ferramentas Padro ou pressione F4 para abrir a janela, Figura 3, a qual possibilita nomear e inicializar propriedades dos controles do objeto formulrio. Para mudar o ttulo do formulrio, d um clique na barra de nome do formulrio UserForm1 para selecion-lo, em seguida, um duplo clique na propriedade Caption e troque o valor desta propriedade para Entrada de peas e d Enter. A barra de ttulo do formulrio mostrar a nova legenda.
Caixa de Texto
Inicialmente, clique no formulrio para exibir a Caixa de ferramentas, caso ela no esteja visvel. Na Caixa de ferramentas, selecione o boto Caixa de texto e clique no formulrio na posio superior do lado direito para criar a primeira caixa de texto de tamanho padro deste projeto como mostrado na figura 4. Figura 3
Com a caixa de texto selecionada d um duplo clique na propriedade (Name) da Janela 'Propriedades' e mude o valor para txtPeca e d Enter. Clique em uma parte vazia do formulrio para selecion-lo e exibir a Caixa de ferramentas.
Rtulo ou Label
Para descrever ou nomear a caixa de texto, clique no boto Rtulo na Caixa de ferramentas e depois clique no formulrio esquerda da caixa de texto, e em seguida, clique duas vezes na propriedade
3 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Caption e modifique o valor para Nmero da pea e tecle Enter. Se necessrio, redimensione o rtulo, arrastando a ala de seleo para perfazer um tamanho apropriado. Clique em uma parte vazia do formulrio para selecion-lo e exibir a Caixa de ferramentas.
Alinhamento
Para fazer o alinhamento das caixas de texto, selelecione as trs caixas, clicando ao lado na parte superior esquerda da primeira caixa de texto e arraste um retngulo at a parte inferior direita da ltima caixa de texto ou, se preferir, mantenha pressionada a tecla Ctrl e clique em cada uma das caixas de texto, figura 4. A partir do menu Formatar, clique em Alinhar e, em seguida, na opo Esquerdas . Para alinhar os rtulos, proceda de modo anlogo ao das caixas de texto. A figura 5 mostra o resultado deste procedimento. Figura 5
Botes de comando
Para permitir a execuo de aes, insira no formulrio trs botes de comando: um para dar entrada de dados, outro para apagar o contedo das caixas de texto do formulrio e o terceiro para encerrar o processo de entrada de dados. Para criar o primeiro boto, clique no Boto de comando
4 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 6
Com o boto selecionado, mude o valor da propriedade (Name) para btnEntra e da propriedade Caption para Entra e tecle Enter. Redimencione o boto, clicando nele para selecion-lo e, em seguida, arraste a ala do lado direito ou esquerdo do retngulo de seleo at alcanar um tamanho apropriado, Figura 6. Se for necessrio, reposicione o boto no espao do formulrio, arrastando-o de um local para outro. Clique em uma parte vazia do formulrio para exibir a Caixa de ferramentas. Proceda de forma semelhante para a criao dos dois botes restantes, alterando os valores das propriedades como segue: Boto Limpa propriedade (Name) para btnLimpa e Caption para Limpa; Boto Fim propriedade (Name) para btnFim e Caption para Fim. Redimensione tambm esses dois botes de modo a obter tamanhos proporcionais, figura 6. Selecione os trs botes para alinh-los a partir do menu Formatar.
Figura 7 Salve a pasta de trabalho. Lembre-se que o salvamento do projeto pode ser feito em cada etapa
5 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Tabulao
Pressione repetidamente a tecla TAB e observe que a caixa de seleo se movimenta de controle para controle, mudando seu foco ou ponto sobre o qual recair a ao do usurio. Tecle F5 para entrar em modo de execuo e verifique a ordem de sequncia do foco ao pressionar a tecla TAB. A ordem de tabulao impotante para quem utiliza o teclado. Se a atual no for a ordem de tabulao lgica ela pode ser mudada. Clique no plano de fundo do formulrio e a partir do menu Exibir clique na opo Ordem de tabulao. A caixa de dilogo, Figura 8, mostra nove controles cuja sequncia pode ser alterada, simplesmente, selecionando o controle desejado e clicando no boto Mover para cima ou Mover para baixo para posicion-lo corretamente. Figura 8
6 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 9 Para retornar ao formulrio, clique no menu Exibir e depois em Objeto ou, pegando um atalho, clique com o boto direito do mouse em UserForm1 no painel esquerda e, no menu de contexto, escolha Exibir objeto. Boto Limpa (btnLimpa) D um duplo clique no boto Limpa para abrir a janela de cdigo. Segue o cdigo relativo a esse boto:
7 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 10 Para retornar ao formulrio, clique no menu Exibir e depois em Objeto ou atravs do atalho, clicando com o boto direito do mouse em UserForm1 e, em seguida, em Exibir objeto. Boto Fim (btnFim) D um duplo clique no boto Fim para abrir a janela de cdigo. Segue o cdigo relativo a esse boto:
Figura 11 Para retornar ao formulrio, clique no menu Exibir e depois em Objeto ou faa-o via atalho. O fechamento do formulrio tambm pode ser efetivado teclando Esc . Para tanto, selecione o boto Fim do formulrio e na Janela 'Propriedades' mude o valor da propriedade Cancel para True.
Teste do projeto
Para fazer o teste do projeto, pressione a tecla F5 ou clique no boto (com forma de cabea de seta direita) na barra de ferramentas padro ou, ainda, se preferir, clique no menu Executar e depois em Executar Sub/Userform .
Boto X do formulrio
Para que o usurio no encerre o trabalho, usando o boto fechar (X) do formulrio, clique em Inserir e depois em Cdigo ou use o atalho a partir do UserForm1, subordinado pasta Formulrios do painel esquerda, e, no final da janela de Cdigo, digite o procedimento conforme figura 12 a seguir:
8 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 12
Macro incio
Para iniciar a execuo do projeto a partir de um boto ou ponto de acesso contido na planilha de dados, clique no menu Inserir e depois em Mdulo. Na rea de cdigo digite as instrues conforme figura 13.
Figura 13
Boto de execuo
Para facilitar o comando de execuo pelo usurio, clique na Planilha do Excel e crie um boto ou ponto de acesso, conforme figura 14. Para tanto, clique em Inserir e depois em Formas, selecione uma Forma e desenhe-a arrastando o ponteiro do mouse no corpo da planilha. Em seguida, clique com o boto direito do mouse na Forma e, no menu de contexto, em Atribuir Macro. Na caixa de dilogo Atribuir macro, selecione o nome da macro inicioMat e clique em OK. Insira o texto na Forma, clicando com o boto direito do mouse na borda da forma e, no menu de contexto, clique em Editar Texto. Digite o texto Entrada de materiais e para sair do modo de edio, clique num espao em branco da planilha. Salve o projeto. Para finalizar esse estudo, faa agora o teste final, iniciando o processo de execuo a
9 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 14
Exerccios
1. Desenvolver um projeto para fazer uma relao de pagamentos, contendo o cdigo do funcionrio, sexo e salrio, na planilha Plan1 do Excel (figura 15) e mostrar os totais dos salrios listados. Para tanto, elabore um formulrio para dar entrada dos dados (figura 16) e outro formulrio para apresentar a soma dos salrios (figura 17) quando o usurio pressionar o boto Fim.
Figura 15
10 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 16
Figura 17 Segue um exemplo da execuo deste projeto-exerccio que mostra alguns dados de entrada (figura 18) e o resumo final do processamento contendo os totais dos salrios no segundo formulrio (figura 19).
11 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 18
Figura 19 Download do arquivo do exerccio n 1: 2. Fazer um programa para converter para o sistema numrico decimal um nmero escrito em binrio. Formulrio deste exerccio (figura 20):
12 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 21 Download do arquivo do exerccio n 2: 3. Criar um projeto para converter valores numricos entre os sistemas decimal, binrio e hexadecimal. O formulrio para este projeto pode ser definido como segue (figura 22):
13 de 14
20/3/2013 14:13
http://www.bianchi.pro.br/vba/vba_p4.php
Figura 22 Exemplo de uma converso efetuada atravs do projeto deste exerccio(figura 23):
Figura 23
14 de 14
20/3/2013 14:13