Você está na página 1de 86

GABRIEL CARVALHO JARDIM

PROGRAMANDO EM VBA

NDICE

Programao VBA. Parte 1 ......................................... 02 Programao VBA. Parte 2 ......................................... 06 Programao VBA. Parte 3 ......................................... 12 Programao VBA. Parte 4 ......................................... 20 Programao VBA. Parte 5 ......................................... 26 Programao VBA. Parte 6 ......................................... 32 Programao VBA. Parte 7 ......................................... 39 Programao VBA. Parte 8 ......................................... 45 Programao VBA. Parte 9 ......................................... 51 Programao VBA. Parte 10 ....................................... 56 Programao VBA. Parte 11 ....................................... 61 Programao VBA. Parte 12 ....................................... 68 Programao VBA. Parte 13 ....................................... 75 Programao VBA. Parte 14 ....................................... 80

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 1


Objetivo: O objetivo deste tutorial e dos demais ensinar voc a programar em VBA de uma forma simples e prtica, voc vai aprender utilizar vrios recursos que Excel oferece atravs de seu editor de programao, criar formulrios, interagir com planilhas, que com certeza sero muito teis, podendo ser utilizado para criar sistemas para uso pessoal ou profissional. Neste tutorial comearemos a conhecer o editor de visual basic, seus principais menus. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Para comear a programar quase sempre comeamos fazendo um curso de Lgica de Programao, esta serve para podermos utilizar as ferramentas disponveis para criao de sistema, de forma a raciocinar para resolver determinado situao. Em nosso caso, no irei abordar a lgica de programao direta e sim ao longo dos tutoriais, mesmo assim ser voltado ao desenvolvimento de sistemas bsico que ensino a criar aqui mesmo no site do Sr. Julio Battisti, irei ensinar de uma maneira, que se voc ao compreender minha explicao j comear a desenvolver a lgica e a programar, podendo desenvolver seus prprios sistemas, irei fazer assim para que qualquer pessoa que tenha informtica bsica possa comear a programas em VBA. DICA: Procure ler uma apostila sobre lgica de programao, voc pode encontrar no site www.apostilando.com. Irei procurar ensinar atravs dos tutoriais quase tudo de forma objetiva e direta, ou seja, sem demorar muito com teorias, claro que as mesmas so necessrias em alguns casos. Pensei um modo de simples para voc comear a ensinar voc a programar, ento, como pretendo explicar determinado cdigo e logo em seguida fazer um excerccio na prtica, a primeira coisa a aprender conhecer o editor de Visual Basic do Excel. Conheceremos suas ferramentas e objetos, aprenderemos a modificar as propriedades. Objetos no editor so por exemplo uma Label que tem como uma das suas utilidades para inserir nome dos campos, ou o prprio formulrio que um objeto, voc vai entender melhor logo em seguida. Para ativar o editor do visual basic do Excel, clique nom menu ferramentas, macros, editor de visual basic.

GABRIEL CARVALHO JARDIM

Tela 001

Tela 002 Na parte superior temos os menus arquivo, editar e assim por diante, iremos aprender apenas os necessrios e seus principais comandos. Logo abaixo temos uma barra de atalho com os principais comandos, onde podemos inserir form, iniciar ou parar o aplicativo, entre outros, mas iremos aprender por enquanto a utilizar os menus.

GABRIEL CARVALHO JARDIM


Na janela da esquerda temos o projeto, neste vai aparecer as planilhas, os formulrios com seus respectivos nomes e na janela da direita vai ser onde iremos inserir e manipular todos os objetos. O primeiro men que vamos aprender o Exibir:

Tela 003 Os principais comandos que utilizaremos sero os seguintes. EXIBIR: CODIGO: Este ser utilizado toda a vez que precisarmos abrir a janela de cdigo de um objeto. OBJETO: Este ser utilizado toda a vez que precisarmos retornar ao objeto: PROJECT EXPLORER: Este serve para mostrar a janela de projetos, que fica localizada no lado esquerdo do editor de visual basic. JANELA DE PROPRIEDADES: Este serve para ativar a janela de propriedades de um

objeto.

CAIXA DE FERRAMENTAS: Esta ser contem vrias ferramentas para utilizar no desenvolvimento do sistema.

GABRIEL CARVALHO JARDIM

Tela 004 INSERIR: INSERFORM: Este ser utilizado para inserir o formulrio no projeto. MODULO: Este ser utilizado para inserir mdulos no projeto.

Tela 005 EXECUTAR: EXECUTAR USERFORM: Este ser utilizado para iniciar o sistema. INTERROMPER: Este ser utilizado para pausar o sistema.

GABRIEL CARVALHO JARDIM


REDEFINIR: Este vai parar o sistema por completo.

Tela 006 FERRAMENTAS: REFERNCIAS: Este utilizaremos para ativar determinadas bibliotecas quando for necessrio. Conhecido os principais menus e comandos que utilizaremos, no prximo tutorial iremos conhecer a caixa de ferramentas.

Concluso:
Neste tutorial comeamos a conhecer o editor de visual basic do Excel, mostrei os principais menus que iremos utilizar com um breve resumo da funo de cada, tudo de forma simples e objetiva, na prxima parte do tutorial continuaremos a conhecer o editor. Bons estudos e at a prxima parte.

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 2


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste iremos conhecer a caixa de ferramentas e a inserir um formulrio, a mesma possui vrios objetos que utilizaremos freqentemente no desenvolvimento de sistemas. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Para que possamos visualizar a caixa de ferramentas teremos que estar com algum objeto ativado, ento, irei ensinar a inserir um objeto que neste caso ser um formulrio, o processo simples e prtico. Clique no menu inserir Userform.

Tela 001 Agora para visualizarmos a caixa de ferramentas, clique sobre o menu exibir e depois em caixa de ferramentas.

GABRIEL CARVALHO JARDIM

Tela 002 Pronto, foi inserida a caixa de ferramentas, agora iremos conhecer os principais objetos da mesma, sempre se da direita para esquerda, irei usar nmeros como referencia, ou seja, a seta ser o objeto numero 1, a letra A ser 2 e assim sucessivamente. Objeto 1 Ferramenta de marcao representado pela seta: Esta utilizaremos para manipular os objetos, como dimensionar a largura do formulrio, entre outros. Objeto 2 Label representada pela letra A: Esta utilizaremos quase sempre para identificar um campo ou usar como uma varivel. Para inserir qualquer objeto basta selecion-lo e clicar sobre o formulrio. Objeto 3 Caixa de texto representado pela letra ab|: Esta utilizaremos para inserir dados, como por exemplo, senha e login. Objeto 4 Caixa de combinao: Esta utilizaremos quase sempre para disponibilizar algumas opes que os usurios podero selecionar, digamos que voc tenha uma lista de trs nomes, Ana, Paula e Diene num acesso via login e voc acessa este com algum deste nomes, ento voc no ira precisar digitar nenhum, apenas selecionar o que deseja. Objeto 5 Caixa de listagem : Esta utilizaremos quando quisermos fazer o mesmo processo, que expliquei na caixa de combinao, a diferena que esta ira disponibilizar os nomes em forma de listas. Tambm podemos utilizaras para mostrar vrios registros do banco de dados. Objeto 6 Caixa de seleo: Esta utilizaremos quando oferecemos ao usurio uma lista de opes que o mesmo poder escolher. Um exemplo quando criamos um e-mail em algum provedor, este pergunta quais interesses temos em determinada rea para receber emails, ento, voc poder escolher varias entre as que o mesmo disponibiliza. Objeto 7 Boto de opo: Este tem funo parecida com a caixa de seleo a diferena que podemos apenas marcar uma opo de cada vez, um exemplo fazer um formulrio onde usurio poder selecionar como resposta sim ou no.

GABRIEL CARVALHO JARDIM


Objeto 9 Moldura: Este utilizaremos para dar um designer mais moderno ao formulrio ou para separar certos dados. Objeto 10 Boto de comando: Este utilizaremos para que atravs do mesmo determinar alguma funo. Objeto 11 Multi-pgina: Esta utilizaremos sempre dentro do formulrio onde podemos separar os dados. Objeto 14 Imagem: Este utilizaremos para quando quisermos inserir uma imagem ao formulrio. Conhecido as principais ferramentas, irei mostrar como inseri-la no formulrio o processo bem simples, vamos inseri como exemplo uma label, para isso selecione a mesma na caixa de ferramentas e clique sobre o formulrio.

Tela 003 O processo o mesmo para as demais ferramentas, para inserir uma caixa de texto selecione a mesma e clique sobre o formulrio.

GABRIEL CARVALHO JARDIM

Tela 004 Bom agora que j conhecemos e sabes inserir os objetos, teremos que aprender sobre suas propriedades atravs destas que iremos inserir cor, alterar fonte, tamanho entre outros. Vamos comear pela Label, insira uma label no formulrio com a mesma selecionada ative a janela de propriedades, irei mostrar as principais:

Tela 005 Propriedade Name: Atravs desta poderemos modificar o nome da label, ser til para a hora que formos programar o cdigo. Irei mostrar um exemplo de coma alterar esta propriedade, as demais irei apenas explicar a funo de cada propriedade.

10

GABRIEL CARVALHO JARDIM


Na janela de propriedade, bem no inicio esta escrito Label1, apague este nome e insira outros, em nosso caso iremos digitar teste.

Tela 006 Backcolor: Esta utilizamos para modificar a cor de fundo do objeto, que neste caso a Label.

Tela 007 Caption: Esta utilizamos para modificar o nome da label, ou seja, o nome que estamos visualizando, neste vamos colocar o nome teste tambm.

11

GABRIEL CARVALHO JARDIM

Tela 008 No prximo tutorial comearemos a identificar mais propriedades da Label.

Concluso:
Neste tutorial mostrei como inseri um formulrio, a ativar a caixa e conhecer algumas das suas principais ferramentas mostrado atravs de telas sua aparncias com as propriedades modificadas, tudo de forma simples e objetiva, na prxima parte do tutorial continuaremos nosso aprendizado. Bons estudos e at a prxima parte.

12

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 3


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste iremos conhecer a as propriedades dos controles e a criar alguns cdigos de programao. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2 e Parte 3 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Vamos comear a conhecer as propriedades do objeto Label, irei mostrar as principais, sendo que as propriedades dos outros objetos so quase iguais, as que forem diferentes irei mostrar quando criamos algum exerccio que seja preciso utilizar: Propriedades Label: Irei mostrar passo a passo a modificar a mesma, as demais propriedades deste e dos demais objetos o procedimento o mesmo. No editor de visual basic insira um formulrio, clique no boto inseri userform, depois a label, selecione a mesma na caixa de ferramentas e de um clique sobre o formulrio.

Tela 001 Agora vamos ativar a janela de propriedades selecione a label se mesma no tiver, clique no menu exibir janela de propriedades.

13

GABRIEL CARVALHO JARDIM

Tela 002 Vamos conhecer suas principais propriedades. Name: Esta para substituir o nome Label1, usamos quase sempre para fazer referncia de cdigos a mesma. Backcolor: Esta para modificar a cor de fundo. Bordercolor: Esta para trocar a cor da borda. Caption: Esta para modificar o nome Label 1 visualmente, ou seja, este o nome que aparece no formulrio. Enable: Esta quando selecionada false no permitido modificar o nome da label Font: Esta para modificar a fonte, tamanho e estilo. Forecolor: Esta para modificar a cor da fonte. Height: Esta para modificar a altura da label. Visible: Esta quando selecionado false, no ira mostra a label durante a execuo do aplicativo. Width: Esta para definir a largura. Agora que voc j conhece as principais propriedades da Label, irei ensinar a modificar conforme exemplo abaixo. Insira uma label no formulrio, onde iremos modificar as suas propriedades da seguinte forma: Caption para MODIFICANDO AS PROPRIEDADES

14

GABRIEL CARVALHO JARDIM


Height para 20 Width para 138 Com a label selecionada, a janela de propriedades clique em caption apague o nome e insira o que definimos:

Tela 003 Agora selecione a propriedade height e altere conforme a nosso definio logo

acima:

15

GABRIEL CARVALHO JARDIM

Tela 004 Por ltimo vamos alterar a propriedade widht conforme a definio logo acima.

Tela 005 Conhecendo as principais propriedades da label e sabendo os processos para modific-las, lembrando que as propriedades dos demais objetos, so quase as mesma e iremos aprendendo conforme nosso estudo.portanto, iremos criar um pequeno cdigo. O objeto deste cdigo clicar num boto e aparecer a seguinte frase: Estou aprendendo a programar vba. Ento no formulrio os objetos que precisaremos de um

16

GABRIEL CARVALHO JARDIM


formulrio e um boto, insira os mesmos. Feito isso, iremos modificar a propriedade Caption de commandbutton1 para Mensagem e name para boto. Selecione o boto e atravs da propriedade caption e faa a alterao:

Tela 006 Modificada as propriedades, vamos ativar a janela de cdigo do boto, para isso clique no men exibir cdigo fonte.

Tela 007 Dentro do cdigo do boto, cada objeto dentro da janela de cdigo existe um determinado evento, neste caso vai ser o evento clic, que ocorre sempre quando o boto for clicado, mas o que interessa a criao do cdigo neste momento. Sempre quando quiser que aparece uma mensagem digitamos o seguinte cdigo: Iniciamos com.

17

GABRIEL CARVALHO JARDIM


MSGBOX Estou aprendendo a programar vba Dentro das aspas duplas escrevemos a mensagem.

Tela 008 Agora basta voltar a exibir o formulrio, para isso no men exibir clique em objeto.

Tela 009 Agora inicie o aplicativo no menu executar e clique no boto para visualizar a mensagem.

18

GABRIEL CARVALHO JARDIM

Tela 010

Concluso:
Neste tutorial mostrei as principais propriedades do objeto label, lembrando que os demais objetos tem suas propriedades em alguns casos iguais, assim iremos conhecendo as demais ao longo dos tutoriais, tambm ensinei como inserir um formulrio a label, alm de criamos o primeiro cdigo, para a elaborao de uma mensagem, tudo de forma simples e objetiva, na prxima parte do tutorial continuaremos nosso aprendizado. Bons estudos e at a prxima parte.

19

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 4


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei ensinar a criar um simples cdigo para inserir a data utilizando os objetos rotulo ou label como mais conhecida, tambm dentro de textbox utilizando um boto para fazer a ao e um cdigo para fechar formulrios. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3 e Parte 4 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Vamos comear a utilizar os cdigos na pratica assim vai ficar melhor o seu aprendizado, podendo voc utilizar estes cdigos para a criao dos seus sistemas bastando fazer a adaptao. Criaremos um pequeno sistema para prtica irei mostrar passo a passo. Com o editor de visual basic do Excel aberto, vamos salvar o sistema com nome vba.xls e depois vamos inserir o primeiro objeto que ser um formulrio. Para inserir o formulrio clique no menu inserir userform.

Tela 001 Agora vamos criar um cdigo para inserir a data, a primeira coisa a fazer antes de escrever o cdigo definir em qual objeto utilizaremos para mostrar a mesma, aconselho a utilizar um rotulo, ento, utilizaremos a mesma para visualizar a data, insira um label no

20

GABRIEL CARVALHO JARDIM


formulrio, para isso selecione a mesma na caixa de ferramentas e depois clique sobre o formulrio.

Tela 002 Temos que definir onde inserir o cdigo, o que vamos criar para a data deve ser inserido no formulrio na sua propriedade initialize, esta propriedade executa o cdigo assim que inicializado o formulrio, portanto, quando rodarmos o aplicativo o cdigo ser acionado e a data ser mostrada atravs do objeto label. Para isso clique duas vezes sobre o formulrio e depois seleciona a propriedade.

Tela 003 A seguir o cdigo para mostrar a data: Label1 = Format(Date, " dd / mm / yyyy")

21

GABRIEL CARVALHO JARDIM


Veja que primeiro inserimos o nome do objeto que vai receber a data, depois colocamos Format() seguido Date com a formatao dia, ms e ano.

Tela 004 Agora vamos rodar o programa, para ver a data:

Tela 005 Voc viu que simples criar um cdigo para inserir uma data utilizando programao. Agora vamos fazer com que a data aparece dentro de um objeto textbox quando voc clicar num boto. Para isso insira um textbox e um boto, selecione os mesmo na caixa de ferramentas e clique sobre o formulrio:

22

GABRIEL CARVALHO JARDIM

Tela 006 O cdigo para inserir a data esta pronto, o que temos que fazer modificar o nome do objeto que Label1 para textbox1, ento o cdigo passa a ser assim: Antes: label1 = Format(Date, " dd / mm / yyyy") Agora: TextBox1 = Format(Date, " dd / mm / yyyy") Devemos inserir este cdigo dentro do boto em sua propriedade clique, para que quando clicarmos este cdigo vai enviar a data para o text.

Tela 007 Execute o programa e clique sobre o boto, para que a data seja inserida dentro do

textbox.

23

GABRIEL CARVALHO JARDIM

Tela 008 Vamos criar um cdigo bem simples para fechar o formulrio sem clicar no x, para isso inserira outro boto e dentro do mesmo coloque o seguinte cdigo: Userform.hide Colocamos o nome do formulrio e depois o cdigo Hide.

Tela 009 Execute o programa e clique no boto fechar.

24

GABRIEL CARVALHO JARDIM

Tela 010

Concluso:
Neste tutorial mostrei como criar um cdigo para inserir datas no formulrio utilizando para isso dois objetos um rotulo ou label como mais conhecida e um textbox, utilizando um boto para fazer a ao, tambm ensinei a inserir um cdigo para fazer o fechamento do formulrio, tudo de forma simples e objetiva, na prxima parte do tutorial continuaremos nosso aprendizado. Bons estudos e at a prxima parte.

25

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 5


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei ensinar a criar um simples cdigo para fazer clculos matemticos de adio, subtrao, multiplicao e diviso, tambm voc ter o contato com a utilizao de variveis. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3 e Parte 4 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ola! Vamos comear este tutorial aprendendo a fazer clculos simples, o que vai ser sempre til e utilizaremos quase com freqncia no desenvolvimento de sistemas. Para isso vamos utilizar os seguintes objetos: 01 Formulrio 06 Label 03 Caixas de texto 01 Boto Vamos comear fazendo uma simples conta de multiplicao, no iremos definir um valor x, com o que vamos aprender agora voc pode at montar um pequeno sistema digamos para o seu filho aprender a tabuada, insira e ajuste os objetos conforme a tela abaixo:

Tela 001

26

GABRIEL CARVALHO JARDIM


Bom, agora vamos inserir dentro do boto o cdigo, no seu evento clique, para que aps voc digitar nas caixas os nmeros voc clique para ser calculado e vai aparecer o resultado na terceira caixa, baixo o cdigo. TextBox3.Text = TextBox1.Text * TextBox2.Text Vou explicar o funcionamento do cdigo acima que bem simples, s precisamos utiliza a lgica, quem vai receber o valor final, ou seja, o valor j multiplicado a terceira caixa, ento comeamos digitando o seu name no mais a sua propriedade text. Colocamos o sinal de igual e o nome da primeira caixa mais o sinal de asterisco, que representa multiplicao, seguido do nome da segunda caixa, pronto. Abaixo o cdigo dentro do boto mais o sistema rondando e mostrando o resultado da multiplicao de 10*10.

Tela 002

Tela 003

27

GABRIEL CARVALHO JARDIM


Agora vamos fazer para efetuar a diviso o processo quase o mesmo o que devemos fazer substituir o asterisco pela / que representa a diviso, abaixo o cdigo e o exemplo da diviso de 100/10.

Tela 004

Tela 005 O mesmo processo para fazer s subtrao, abaixo o cdigo o exemplo 100 90.

28

GABRIEL CARVALHO JARDIM

Tela 006

Tela 007 Bom, agora s falta fazer a adio, voc deve estar pensando que s substituir o sina de por + mas no, que para adio apenas este sinal de mais ira juntar os nmeros, substitua o sinal de por + e teste 100 + 100, ou resultado ser conforme a tela abaixo:

29

GABRIEL CARVALHO JARDIM

Tela 008 Neste caso temos que criar duas variveis e atribuir valores as mesmas, nos prximos tutoriais irei abordar melhor o uso das variveis. Iremos criar a varivel x e y mas para isso teremos que declar-las como um inteiro da seguinte maneira. Dim x As Integer Dim y As Integer x = TextBox1.Text y = TextBox2.Text TextBox3.Text = x + y Logo aps fazer a declarao temos que atribuir o valor para as variveis, como no sabemos qual o valor que o usurio vai digitar atribumos a caixas de texto um e dois, assim ira fazer a soma de qualquer nmero que for digitado. Na ltima parte do cdigo, lembre-se que este esta dentro do boto no seu evento clique, colocamos primeiro a caixa de texto 3 que vai receber e depois a varivel x + y, que nesta altura j possuem um determinado valor que receberam das caixa de texto. Abaixo o cdigo e a soma de 100+100 resultando no valor esperado.

30

GABRIEL CARVALHO JARDIM

Tela 009

Tela 010

Concluso:
Neste tutorial mostrei como criar um cdigo para realizar operaes de adio, subtrao, multiplicao e diviso, expliquei a funo do cdigo tudo passo a passo e de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

31

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 6


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei falar sobre varivel, mostrar sua sintaxe e como utiliz-la atravs da criao de um simples sistema. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, e Parte 5 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ola! Neste tutorial vamos aprender mais sobre variveis dentro da programao, no ire me prender a muito a parte terica, e sim mais a prtica, porque meu objetivo mostrar como sua utilizao quase sempre utilizando um exemplo, e da voc possa utilizar este exemplo para adapt-lo conforme sua necessidade ou at mesmo criar. Para utilizarmos a declarao de uma varivel utilizamos: Dim nome Neste caso o nome o nome que damos a varivel, lembrando que no definimos o tipo, ou seja, se texto, inteiro, etc. Sua sintaxe completa a seguinte: Dim + Nome da Varivel + As + Tipo da Varivel Dim teste as integer Estou dizendo no exemplo acima que o nome da varivel teste o tipo inteiro, ou seja, nmeros inteiros. Bom, para que voc entenda melhor vamos criar um exemplo prtico, atravs de um pequeno sistema que chamaremos de: Entrada no Sistema. Vou explicar o seu funcionamento, iremos criar duas telas, a primeira iremos inserir um titulo digite seu nome na caixa de texto, mais os objetos caixas de texto e um boto. Na segunda tela vamos inserir o titulo Seja Bem Vindo! mais um objeto label para receber o valor da varivel que neste caso vai ser o nome que digitarmos na caixa de entrada, este exemplo til para voc criar um sistema de login bem bsico, nos prximos tutoriais utilizaremos um exemplo parecido com este para criar uma entrada ao sistema com acesso restrito. Vamos utilizar os seguintes objetos para este exemplo: 02 Formulrios 01 Caixa de texto 03 Label

32

GABRIEL CARVALHO JARDIM


01 Boto Formate o primeiro formulrio da seguinte maneira: 1 Formulrio. Largura 240 Altura 180 Name para entrada Caption para sistema entrada 1 Label Digite sistema de entrada 2 Label Digite nome Caixa de texto Name para text_nome Boto Caption para Acessar Name Para Buton_acessar

33

GABRIEL CARVALHO JARDIM

Tela 001 2 Formulrio Caption para Seja Bem Vindo! Largura para 240 Altura 180 Name para recebe Label Caption para Seja Bem vindo 2 Label deixar sem modificaes.

34

GABRIEL CARVALHO JARDIM

Tela 002 Criado as interfaces grficas agora vamos codificar o sistema, todo o cdigo ir ser ativado quando clicarmos no boto acessar, ento, o cdigo ser colocado dentro do boto na seu evento clique. A primeira coisa a fazer declarar uma varivel na qual iremos cham-la de nome, sua declarao a seguinte: Dim nome as string

35

GABRIEL CARVALHO JARDIM

Tela 003 O prximo passo repassar um valor para esta varivel que chamamos de nome, vamos supor que no sabemos que nome ser digitado pelo usurio, ento atribumos a caixa de texto que esta com o seguinte name Text_name, ficando assim o cdigo: Nome=text_name

Tela 004 Agora iremos escrever mais dois cdigos, o primeiro que vai fazer com que passamos o valor j armazenado na varivel nome para a label2 que se encontra no 2 formulrio que se chama recebe. Para fazermos isso digitamos primeiro o nome do

36

GABRIEL CARVALHO JARDIM


formulrio recebe + . (ponto) Label2=nome e por ltimo inserirmos o cdigo para abrir o formulrio recebe., colocamos o nome do mesmo + a palavra Show. Recebe.label2=nome Recebe.show

Tela 005 Agora falta pouco para terminamos o cdigo, no formulrio recebe, temos que receber o valor da varivel nome que vai ser passado assim que o usurio clicar no boto acessar, para utilizamos o objeto label2 para receber este valor, ento escrevemos o cdigo dentro do formulrio no evento initialize, ou seja, este ira ativar o cdigo assim que o formulrio for aberto. Label2 = nome

Tela 006 Agora s executar o sistema a partir do primeiro formulrio digitar qualquer nome e clicar no boto acessar.

37

GABRIEL CARVALHO JARDIM

Tela 007

Tela 008

Concluso:
Neste tutorial falei sobre varivel, mostrando sua sintaxe e como utiliz-la atravs da criao de um simples sistema, passo a passo e de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

38

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 7


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei falar estrutura de controle IF ... ELSE ... THEN, sua sintaxe e mostrar sua utilizao atravs de um exemplo prtico, utilizando o sistema que ensinei a criar no tutorial anterior. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5 e Parte 6 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ola! Neste tutorial vamos aprender sobre estruturas de controle que servem para que possamos testar certas realizao durante o cdigo, irei comear ensinado a estrutura If ...Then...Else, com esta podemos determinar qual cdigo vai ser executado se o resultado for verdadeiro. Sua sintaxe a seguinte: If condio Then Comando 1 Comando 2 .... Comando Else Comando 1 Comando 2 .... Comando End if Se a condio for verdadeira ira executar parte do cdigo que contm o comando, caso seja falsa executar a outra parte. Para que voc possa compreender melhor, nada melhor que utilizar-mos um exemplo prtico. No tutorial anterior falei sobre variveis e criamos um exemplo prtico, onde digitvamos um nome qualquer e este era repassado atravs de uma varivel para o segundo formulrio.

39

GABRIEL CARVALHO JARDIM


Vamos pegar o mesmo formulrio e vamos criar uma condio para que s abra o segundo formulrio se o nome for igual a ERICO, caso no seja este o nome digitado vamos fazer com que aparece uma mensagem Nome esta incorreto. Com a utilizao desta condio voc poder criar um sistema de login simples, onde digitamos ERICO voc poder colocar seu nome, por exemplo. Abaixo esta os formulrios pronto, que ensinei a criar no tutorial anterior.

Tela 001

Tela 002

40

GABRIEL CARVALHO JARDIM


Acesse o cdigo do formulrio entrada que esta dentro do boto acessar. Neste temos que definir a condio, mas te que forma? Simples,j temos o cdigo pronto que ter a funo de abrir o segundo formulrio e se queremos que o sistema s ative o segundo formulrio se o nome for igual RICO. devemos inserir o cdigo da seguinte maneira: If Text_nome.Text = "VBA" Then

Tela 003 A condio acima diz o seguinte: Se text_nome.text (text_box a caixa onde voc vai digitar o nome) for igual a VBA ento, vai executar o comando abaixo, que no caso vamos colocar o cdigo para abrir o formulrio. Dim nome As String nome = Text_nome recebe.Label2 = nome recebe.Show

41

GABRIEL CARVALHO JARDIM


Tela 004 Agora temos utilizar a expresso IF, que em portugus significa se e logo aps o comando que ser executado quando o nome no for igual a RICO, no no sso caso vai ser mostrado uma mensagem, e por ultimo encerramos a condio. Else MsgBox "Nome esta incorreto" End If

Tela 005 Vamos rodar o programa e digitar o nome ERICO, quero fazer uma observao referente ao cdigo, o mesmo faz distino entre minsculas e maisculas e acentos.Ento, voc deve tomar cuidado ao escolher a forma que vai escrever o nome, se for voc que utilizar o sistema tudo bem, mas j imaginou se outra pessoa que ira utilizar?, com certeza a mesma ira fazer perguntas porque que esta digitando o nome escolhido provavelmente pela mesma e no esta conseguindo acessar o sistema. Nos prximos tutoriais iremos comear a interagir mais com os usurios, ou seja, entrada de dados do mesmo direto para o banco de dados, que neste caso vai ser uma prpria planilha do Excel, a irei ensinar para voc alguns ajustes que evitaro certos problemas, e temos que sempre que pensar que apesar do Excel atravs do vba criarmos sistemas o mesmo tem suas limitaes.

42

GABRIEL CARVALHO JARDIM

Tela 006

Tela 007 Agora se digitarmos outro nome ser executado o cdigo da segunda parte do comando, que mensagem.

43

GABRIEL CARVALHO JARDIM

Tela 008

Tela 009

Concluso:
Neste tutorial falei sobre estruturas de controle IF ...ELSE ...THEN, mostrando sua sintaxe e para demonstrar de forma prtica utilizei o sistema que tinha criado no tutorial anterior, passo a passo e de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

44

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 8


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei falar estrutura de controle de repetio For...Next, sua sintaxe e mostrar sua utilizao atravs de um exemplo prtico, utilizando o sistema que ensinei a criar no tutorial anterior e tambm a carregar o objeto combobox atravs de cdigo e da sua propriedade . Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6 e Parte 7 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ola! Neste tutorial vamos aprender sobre estruturas de controle de repetio For...Next, em determinadas situaes precisamos fazer a repetio de um ou mais comandos, quase sempre utilizamos esta quando j sabemos o nmeros de vezes que o cdigo deve ser executado, tambm utilizamos um cantador que pode ser uma varivel. Sua sintaxe a seguinte: For contador = inicio do fim do incremento Comando1 Comando2 ....... Comando Next Vamos fazer um exemplo prtico e simples para que voc entenda melhor a utilizao desta estrutura,. Dim y y = 10 contador = 1 For i = 1 To y contador = contador + i Next Me.TextBox1 = contador

45

GABRIEL CARVALHO JARDIM


Este cdigo vai fazer a repetio de 56 vezes partindo do numero 1, crie uma simples tela com os objetos com abaixo:

Tela 001 Insira o cdigo dentro boto iniciar, no seu evento clic:

Tela 002 Agora execute o programa e clique no boto iniciar, o resultado deve ser igual ao que aparece dentro da caixa textbox.

46

GABRIEL CARVALHO JARDIM

Tela 003 Este um exemplo bem simples, mas poderamos fazer executar um determinado funo mais complexa por diversas vezes. Agora irei ensinar a carregar um combobox atravs de cdigo, vrias vezes voc ira precisar do mesmo, por exemplo: digamos que tenhamos um formulrio para cadastro de clientes, neste tem o campo cidade, devemos toda vez que cadastrar um cliente novo digitar o nome da sua cidade, para isso podemos utilizar o combobox e cadastrar vrias cidades assim voc apenas seleciona. Abaixo insira o objeto combobox conforme a tela abaixo:

Tela 004 Irei inserir apenas 03 nomes de cidades, voc pode tambm utilizar este exemplo para inserir nome de estados. O cdigo deve ser inserido no formulrio no seu evento

47

GABRIEL CARVALHO JARDIM


initialize, para que assim que o mesmo for aberto, ele preencha o combobox com os nomes que tenhamos definido. ComboBox1.AddItem "So Paulo" ComboBox1.AddItem "Rio Janeiro" ComboBox1.AddItem "Braslia" Comeamos a escrever o cdigo digitando o nome do objeto que vai receber o nome, neste caso ser o combobox, depois inserimos a propriedade additem seguido do nome da cidade, este deve estar sobre aspas duplas, por ser tratar de uma string, ou seja, texto.

Tela 005

Tela 006

48

GABRIEL CARVALHO JARDIM


Outra forma que voc pode carregar o combobox a partir da prpria planilha utilizando para isso a propriedade Rowsorce, digite na planilha na coluna A os mesmos nomes das cidades.

Tela 007 Antes de fazermos a referncia voc deve apagar o cdigo que ensinei a criar, se no o mesmo no ira funcionar, ou pode fazer este exemplo abrindo outro formulrio e inserindo um combobox que o mais correto. Agora selecione o combo, ative sua propriedade e na mesma clique sobre Rowsource nesta digite o seguinte: Plan1! A1: A3 Voc esta dizendo ao mesmo que selecione da planilha 1 tudo que estiver entre a clula A1 at A3.

49

GABRIEL CARVALHO JARDIM


Tela 008

Tela 009

Concluso:
Neste tutorial falei sobre estruturas de controle de repetio For ... Next , mostrando sua sintaxe e mostrando sua utilizao de forma prtica para facilitar o seu aprendizado, tambm ensinei como carregar um combobox travs de cdigo e por meio da propriedade Rowsource,passo a passo e de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

50

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 9


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei falar estrutura de controle de repetio For...Next, sua sintaxe e mostrar sua utilizao atravs de um exemplo prtico, utilizando o sistema que ensinei a criar no tutorial anterior e tambm a carregar o objeto combobox atravs de cdigo e da sua propriedade . Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6 e Parte 7 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ola! Neste tutorial neste tutorial iremos trabalhar com intervalos de data, as vezes na criao de determinados sistemas precisamos fazer clculos com datas, para saber por exemplo o nmero de dias entre duas datas. Comearemos a calcular um intervalo (Intervalo quer dizer um nmero de dias) entre duas datas, para isso utilizamos o cdigo Datediff, sua sintaxe a seguinte: Datediff (intervalo, data1, data2) Onde: Intervalo: Vai ser uma string que vai indicar o tipo de intervalo, ou seja, dia (d), ms (m), ano(yyyy). Data1: a primeira data, ou seja, data inicial. Data2: a segunda data, ou seja, data final. Crie um formulrio e adicione ao mesmo um boto dentro do mesmo no evento clic digite o seguinte cdigo: Msgbox O Intervalo entre as datas : & datadiff(d,01/04/2006,04/04/2006)

51

GABRIEL CARVALHO JARDIM

Tela 001 Agora execute o programa e clique sobre o boto, deve aparecer o seguinte resultado:

Tela 002 simples e fcil,veja que no exemplo acima digitei a data direto no cdigo porque eu j sabia as datas a serem calculadas, mas se quisemos criar um sistema onde o cliente vai digitar as datas. Este exemplo que irei ensinar, utilizei parte do mesmo para desenvolver um sistema para calcular juros de uma prestao.

52

GABRIEL CARVALHO JARDIM


A primeira coisa que voc deve fazer criar uma interface grfica para o usurio dar entrada com os dados que neste caso ser a data inicial e final, os objetos sero os seguintes, lembrando que quanto a formatao do objetos pode esta fica ao seu critrio. 01 formulrio 04 label 01 boto Aps ter criado a interface grfica para o usurio, comearemos a pensar como iremos desenvolver o cdigo , este deve ser inserido dentro do boto calcular, no seu evento clic. Como no sabemos quais datas o usurio vai digitar precisaremos criar duas variveis uma para data inicial o qual iremos chamar de inidata e para dat a final que iremos chamar de fimdata. Cdigo de declarao das variveis. Dim inidata as string Dim fimdata as string

Tela 003

53

GABRIEL CARVALHO JARDIM

Tela 004 Agora temos que passar os valores para estas variveis, ou seja, este valor ser a data que o usurio vai digitar no textbox1 e textbox2, atravs do seguinte cdigo; Inidata = Me.TextBox1 Fimdata = Me.TextBox2

Tela 005 Agora, temos que inserir o cdigo datediff, da seguinte maneira: Textobox3 = datediff (d,Inidata,Fimdata) Comeamos com o objeto textbox3 que vai receber o valor final, ou seja, o resultado do intervalo. Depois inserirmos o sinal de igual (=) mais cdigo datediff, com o intervalo d que vai ser o nmero de dias, e as duas variveis Inidata e Fimdata.

54

GABRIEL CARVALHO JARDIM

Tela 006 Agora execute o programa e digite por exemplo as datas: 01/04/2006 e 04/04/2006,, o resultado deve ser igual o que aparece na tela abaixo:

Tela 007

Concluso:
Neste tutorial ensinei a calcular intervalos entre duas datas utilizando o cdigo Datediff mostrando sua sintaxe, ensino tambm a criar um exemplo prtico para facilitar o seu aprendizado, de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

55

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 10


Objetivo: O objetivo deste tutorial continuar aprender sobre o editor de visual basic do Excel, neste irei ensinar a trabalhar com cdigos para retornar datas. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6 e Parte 7 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Ol! Neste tutorial irei voltar a ensinar mais alguns cdigos para manipulao de datas, os mesmo podem ser bastante teis, sempre irei procurar mostrar os cdigos de forma direta e as vezes utilizarei para isso a criao de simples sistemas, sendo que meu objetivo que voc compreenda o cdigo para adapt-lo aos seus sistemas. Bom, vamos aprender os cdigos utilizando um formulrio, insira todos os objetos conforme a tela abaixo:

Tela 001 O primeiro cdigo Day()que tambm pode ser chamado de funo, ser para retornar apenas o dia de uma data, ou seja, digamos que voc tenha uma data no seguinte formato dd/mm/yyyy, com o cdigo day() poder retornar dd. Dentro do boto datas insira o cdigo da seguinte maneira: me.label1=day(date), veja que dentro parnteses insira o comando date, isso porque este ira retornar a data do sistema, e o cdigo day via extrair apenas o dia.

56

GABRIEL CARVALHO JARDIM

Tela 002

Tela 003 Para retornar o ms utilizamos a funo month(), aproveitando o momento antes de inserimos o cdigo para extrair o ms de uma data, irei ensinar voc a comentar o cdigo, isso muito til por exemplo quando desejar escrever qual a funo de um determinado cdigo e tambm comentar para que o mesmo no seja executado quando o programa for inicializado. Para que voc entenda melhor vamos comentar o cdigo que mostra apenas o dia, o que remos que fazer inserir uma aspa simples no inicio do mesmo, assim o cdigo ficara na cor verde, e no ser executado. me.label1= Day (Date)

57

GABRIEL CARVALHO JARDIM

Tela 004 Feito isso vamos inserir o cdigo para extrair a apenas o ms: Me.label1= Month(Date)

Tela 005

58

GABRIEL CARVALHO JARDIM

Tela 006 Para extrair apenas o ano de uma data utilizamos o cdigo year (date). Me.Label1 = Year(Date)

Tela 007

59

GABRIEL CARVALHO JARDIM

Tela 008 Um fator importante para que as vezes precisamos quando estamos programando no editor de vba ativar a biblioteca MicrosoftDAO, se no alguns cdigos no iro funcionar, principalmente quando estamos fazendo a declarao de variveis. Para ativa-la, no editor do vba clique no men ferramentas, referncias, ser aberta uma janela, na mesma selecione a biblioteca e clique no boto ok.

Tela 009

Concluso:
Neste tutorial ensinei voc a utilizar cdigos para fazer manipulaes com datas, podendo extrair apenas o dia, ms ou ano da mesma e tambm a ativar a biblioteca Microsoft DAO, de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

60

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 11


Objetivo: O objetivo deste tutorial ensinar alguns cdigos muito teis para o desenvolvimento de aplicativos, abrir e fechar formulrios, inserir e deletar planilhas e tambm utilizar o cdigo para exibir mensagem assim que o formulrio aberto ou fechado. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6, Parte 7, Parte 8, Parte 9 e Parte 10 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Bom, neste tutorial irei passar alguns cdigos simples, mas que iro ser utilizados com grande freqncia no desenvolvimento de aplicativos, comearemos pela abertura do formulrio, utilizamos o nome do objeto mais .show, abaixo sintaxe. Objeto.show Podemos utiliz-lo de formas diferentes para abrir um formulrio, ou seja, podemos utiliz-lo dentro um boto e quando voc clicar o mesmo abre o formulrio, tambm podemos coloc-lo no prprio formulrio que quando o mesmo for fechado vai abrir outro, entre outros, irei mostrar o primeiro tipo utilizando o objeto boto. Primeiro utilizando um boto, para isso insira dois formulrios conforme mostra as telas abaixo.

Tela 001

61

GABRIEL CARVALHO JARDIM

Tela 002 Iremos inserir o cdigo dentro do boto para que quando o mesmo for clicado abra o formulrio teste, anto, devemos colocar o nome do formulrio que quer abrir, que no nosso caso formulrio_teste mais .show. Formulrio_teste.show

Tela 003 Agora, execute o sistema e clique no boto abrir formulrio teste.

62

GABRIEL CARVALHO JARDIM

Tela 004 Agora voc j sabe com abrir um formulrio, irei ensinar como fech-lo, o cdigo quase o mesmo, apenas fazemos a substituio show por hide. Dentro do formulrio teste insira um boto e dentro do mesmo coloque o seguinte cdigo. Formulrio_teste.hide

Tela 005 Agora vamos aprender um cdigo para inserir planilhas via cdigo, note na tela abaixo que estou com 05 planilhas.

63

GABRIEL CARVALHO JARDIM

Tela 006 Crie um formulrio conforme a tela abaixo:

Tela 007 O cdigo para inserir planilhas Sheets.add, dentro do boto que criamos acima insira o mesmo.

64

GABRIEL CARVALHO JARDIM

Tela 008 Pronto agora inicie o sistema e clique no boto para inserir planilhas. Para deletar utilizamos o seguinte cdigo: Sheets("nome planilha").Delete, onde inserirmos sheets que representa planilha, entre parnteses colocamos o nome da planilha e por fim delete. Vamos deletar a plan4 como exemplo, crie um formulrio conforme o da tela abaixo e dentro do boto do mesmo digite o seguinte cdigo: Sheets(plan4).delete

Tela 009

65

GABRIEL CARVALHO JARDIM

Tela 010 Agora tambm irei ensinar para voc como disparar uma mensagem quando um formulrio for fechado, isso bem simples e til, como exemplo alertar o usurio sobre determinado assunto ou at mesmo em vez de mostrar uma mensagem fazer com que abra outro formulrio. Vamos colocar a seguinte mensagem Voc esta aprendendo VBA, crie o formulrio conforme a tela abaixo e depois insira o cdigo abaixo, note que colocamos o cdigo que vai fechar o formulrio e em seguida disparamos a mensagem a mensagem assim que o formulrio abrir apenas tocaramos o cdigo me.hide por me.show Me,hide msgboxVoc esta aprendendo VBA dentro do boto.

Tela 011

66

GABRIEL CARVALHO JARDIM

Tela 012

Concluso:
Neste tutorial ensinei voc a utilizar cdigos para abrir e fechar formulrios, inserir e deletar planilhas e tambm como inserir uma mensagem quando o formulrio for fechado, de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

67

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 12


Objetivo: O objetivo deste tutorial interagir com o banco de dados, mas para que isso ocorra irei ensinar neste tutorial voc a utilizar uma planilha como banco, para facilitar a criao de cdigos, irei comear a criar um pequeno sistema para aplicao dos cdigos. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6, Parte 7, Parte 8, Parte 9, Parte 10 e Parte 11 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Vamos comear a criar cdigos para interagir com o banco de dados, mas para que isso ocorra irei precisar ensinar para voc como transformar uma planilha em banco de dados, vamos tambm desenvolver um pequeno sistema para criarmos os cdigos e j fazer a criao do banco em cima do mesmo, o sistema vai ser apenas para fazer o cadastro de gerentes de uma determinada rede de lojas. Voc tambm ira aprender os passos para comear a criao de um sistema, comearei definindo os campos que utilizaremos que neste caso sero os seguintes: N, Filial, Matricula, Nome, CPF, RG, Data Nascimento. Com estes campos podemos dar inicio a criao do banco de dados, abra uma planilha do Excel e salve com o nome projeto.xls, depois escreva os nomes dos campos conforme a tela abaixo.

Tela 001

68

GABRIEL CARVALHO JARDIM


Agora precisamos fazer algumas formataes, sendo que a primeira delas colocar os nomes dos campos em destaque com outra cor e em negrito, devendo ficar conforme a tela abaixo.

Tela 002 Agora temos que fazer a formatao de cada campo conforme a sua entrada de registros, ou seja, no campo n podemos deixar com formatao geral.

Tela 003 Ao campos filial e nome devem ficar com a formatao de texto, porque neste devero s receber valores com texto.

69

GABRIEL CARVALHO JARDIM

Tela 004 J os campos matricula, CPF e Rg, devero ser formatados para receber nmeros com a casa decimais serada.

Tela 005 E por ltimo o campo data de nascimento, onde fizemos a abreviao para nasc deve ficar formatado na categoria data.

70

GABRIEL CARVALHO JARDIM

Tela 006 Pronto, esta criado o nosso banco de dados, veja que bem simples cri-lo, agora abaixo esta a interface grfica pronta do sistema.

Tela 007 Procure criar sem fazer grandes alteraes no layout, apenas faa os ajustes necessrios, logo abaixo esta a relao dos objetos utilizados para a criao da mesma, como voc pode ver a mesma bem simples. Neste sistema voc aprender a criar cdigos para cadastrar, pesquisar, editar e apagar os registros. No prximo tutorial comearei a ensinar a codificao do mesmo. Depois que fizermos a codificao bsica podemos inserir outros cdigos na mesma para ir dando melhor dinmica ao sistema.

71

GABRIEL CARVALHO JARDIM


Relao dos objetos: Formulrio Name para projetos Caption para projeto teste Height para 426 Width para 364 Label 01 Label Caption para Cadastro de Gerentes Height para 18 Width para 210 02 Label Caption para Codigo Height para 12 Width para 24 03 Label Caption para Filial Height para 12 Width para 30 04 Label Caption para Matricula Height para 12 Width para 54 05 Label Caption para Nome Height para 12 Width para 42 06 Label

72

GABRIEL CARVALHO JARDIM


Caption para CPF Height para 12 Width para 24 07 Label Caption para RG Height para 12 Width para 24 08 Label Caption para Data Nascimento Height para 12 Width para 90 09 Label Caption para Total Registro BD Height para 12 Width para 90 10 Label Caption para N Height para 12 Width para 30 11 Label Caption para CODF Height para 12 Width para 30 Caixa de Texto Todas as caixas com a mesma configurao abaixo. Name permanece o mesmo Height para 16 Width para 72

73

GABRIEL CARVALHO JARDIM


Botes Boto 01 Caption para Cadastrar Height para 20 Width para 53 Boto 02 Caption para Pesquisar Height para 20 Width para 53 Boto 03 Caption para Editar Height para 20 Width para 53 Boto 04 Caption para Pagar Height para 20 Width para 53 Boto 05 Caption para Fechar Height para 20 Width para 53 Moldura Moldura 01 Caption para Dados Height para 228 Width para 330 Moldura 02 Caption para Comandos Height para 60 Width para 330

Concluso:
Neste tutorial ensinei voc a criar uma banco de dados a partir de uma planilha do Excel, mostrando como deve fazer as formataes dos campos e tambm a interface grfica para que possa ser criado a partir do prximo tutorial cdigos para interagir com o banco de dados, mostrado de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

74

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 13


Objetivo: O objetivo deste tutorial dar continuidade no aprendizado de VBA, irei ensinar voc a codificar a interface grafica que criamos no tutorial anterior, neste irei ensinar o cdigo para identificar quantos registros existem no banco de dados e o cdigo para cadastro de registros. Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6, Parte 7, Parte 8, Parte 9, Parte 10, Parte 11 e Parte 12 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessoria em desenvolvimento de sistemas em Excel, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Bom, vamos comear aprender a codificar a interface grafica do aplicativo, irei passar para vocs cdigos basicos que iro cadastrar, editar, pesquisar, apagar e fechar o formulrio. O primeiro cdigo que irei ensinar ter uma funo de contar quantos registros tem o banco de dados, este muito til, o mesme esta logo abaixo e deve ser inserido dentro do formulrio no seu evento initialize, para que quando o mesmo for aberto o cdigo j inicie automatico. Label11 = Application.WorksheetFunction.CountA(Plan1.Columns(1)) 1

75

GABRIEL CARVALHO JARDIM

Tela 001 Comeamos o codigo definindo o objeto que vai receber os dados, neste caso vai ser a label 11, depois utilizamos o metodo aplicao mais a funco contar e dentro do parenteses o nome da planilha que neste caso vai ser Plan1 vamos contar por coluna 1, isso porque a primeira linha o cabealho. Vamos agora criar cdigo para inserir os registros no banco de dados, este iremos colocar dentro do boto cadstrar no seu evento clic, comearemos utilizando duas variaveis uma para conectar outra para abrir, ento temos que declarar as mesmas para que funcione. Dim bd As Database Dim RS As Recordset

76

GABRIEL CARVALHO JARDIM

Tela 001 Feito isso precesimos abrir o banco e a tabela. Set bd = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "excel 8.0") Set RS = bd.OpenRecordset("PLAN1$", dbOpenDynaset) Note que vou mostrar de forma objetiva os cdigos para que voc possa vir a compreender melhor estes codigos e depois utiliza-los na criao de algum sistema para voc.

77

GABRIEL CARVALHO JARDIM

Tela 002 Agora vem uma parte que o seguinte, o codigo no gerado automatico, ento, voc quem dever inserir o mesmo, mas a eu pensei uma forma do usuario no repetir o mesmo cdigo, ento criei uma condio, como sabemos o numero de registro no banco, por exemplo, temos apenas um registro, ento, o cdigo dever ser maior do qe 1 para poder ser cadastrado. Para isso usei a condio abaixo, a mesma s era entrar para executar os comandos para o cadastramento dos resgitros, dentro desta condio que iremos criar os cdigos dde cadastro. If Me.TextBox1 > Me.Label11 Then End If

Tela 003 Agora comeamos a criar a funo de cadastro:

78

GABRIEL CARVALHO JARDIM


Dim cadastro(1 To 7) cadastro(1) = UCase(Me.TextBox1) cadastro(2) = UCase(Me.TextBox2) cadastro(3) = UCase(Me.TextBox3) cadastro(4) = UCase(Me.TextBox4) cadastro(5) = UCase(Me.TextBox5) cadastro(6) = UCase(Me.TextBox6) cadastro(7) = UCase(Me.TextBox7) cadastro(7) = UCase(Me.TextBox1.Value) Dim PROJETO As Object Dim L, i Set PROJETO = Plan1.Cells(1, 1).CurrentRegion L = PROJETO.Rows.Count + 1 If Len(Me.TextBox1) = 0 Then MsgBox "VOC NO DIGITOU NENHUM DADO PARA INCLUSO", vbCritical, "CADASTRO DE DADOS" Else For i = 1 To 7 Plan1.Cells(L, i).Value = Trim(cadastro(i)) Next i MsgBox "CADASTRO", vbInformation, "EFETUADO COM SUCESSO" ThisWorkbook.Save End If Exit Sub Else MsgBox "No campo COD digite um nmero maior do que h no campo registro no banco para casdastrar." End If Note que a mesma bem extensa, mas irei explica-la de forma bem objetiva para no confundi-lo, na primeira parte colocamos os objetos que neste caso sero os textbox, e do lado esquerdo cada cadastro(1) representa uma coluna na planilha, na segunda parte

79

GABRIEL CARVALHO JARDIM


vamos fazer com que seja inserido os registros atravs do for, antes testamos o primeiro text que nesta caso o codigo, se o mesmo estiver fazio aparacer uma mensagem, isso ocorre porque voc ter que inserir o codigo. Caso o resigtro tenha sido enserido corretamente, apresentamos uma mensagem para o usuario saber que ocorreu tudo bem e logo abaixo colocamos um comando para salvar as alteraes na planilha, para que na hora que voc fechar o sistema no tenha a necessidade salvar a planilha. Espero que voc tenha compreendido o funcionamento dos cdigos, no inicio pode parecer meio confuso, mas questo de tempo para que venhas compreender melhor.

Tela 004

Concluso:
Neste tutorial ensinei voc a criar o cdigo que ira mostrar quantos registros armazenados existem no bacno de dados e tambem como criar o cdigo para cadastrar os resgistros, mostrado de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

80

GABRIEL CARVALHO JARDIM

Programao VBA. Parte 14


Objetivo: O objetivo deste tutorial dar continuidade no aprendizado de VBA, irei ensinar voc a codificar a interface grafica que criamos no tutorial anterior, voc vai aprender a criar o cdigo para fazer pesquisa no banco e tambm ativar a bibliota Microsoft Dao.Mostrando sempre atravs de telas para facilitar o seu aprendizado. Pr-requisito: Para voc poder acompanhar o desenvolvimento deste tutorial, ser necessrio ter conhecimento no mnimo de informtica e Parte 1, Parte 2, Parte 3, Parte 4, Parte 5, Parte 6, Parte 7, Parte 8, Parte 9, Parte 10, Parte 11 e Parte 12 deste tutorial. NOTA: A partir deste sistema, irei oferecer servios de acessoria em desenvolvimento de sistemas em Excel e Sites com acesso a banco de dados, portanto, se voc quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo atravs do e-mail: erico_2223@yahoo.com.br. Bom, no tutorial anterior voc aprendeu a criar o cdigo para inserir registros no banco de dados, vamos aprender nesse a criar o cdigo pra retornar os registros do banco de dados. Serei bem objetivo quanto a explicao de forma que voc possa entender sem maiores dificuldades, lembrando sempre que para aprenderemos a programar bom sempre ter um curso de lgica de programao onde aprendermos melhor a utilizar o nosso raciocnio para desenvolvimento de sistemas, mas claro que nestes cdigos que estou ensinado para voc no h esta necessidade. Uma das primeiras coisas que temos que fazer definir qual o campo que iremos utilizar para buscar as informaes, ou seja, neste pequeno sistema que estamos criando, vamos utilizar como exemplo o campo FILIAL, atravs dele que iremos digitar o nome da filial que desejamos localizar. O primeiro cdigo sempre declar as variveis e conectar e abrir o banco de dados, esta parte de cdigo ensinei no tutorial anterior, ento, irei apenas coloca- lo aqui novamente para irmos montando o cdigo. Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "excel 8.0") Set rs = bd.OpenRecordset("PLAN1$", dbOpenDynaset)

81

GABRIEL CARVALHO JARDIM

Tela 001 Vamos comear inserindo uma linha de cdigo que ir testar se o nome que estamos buscando esta no banco de dados, em nosso caso este campo FILIAL, digamos por exemplo que voc esteja buscando uma filial com o nome filial 2 se esta no estiver ira aparecer uma mensagem informando que a mesma no foi localizada ou no esta cadastrada no banco de dados, essa mensagem fica ao seu critrio, o cdigo que faz esta funo, a mesma bem simples, apenas estou dizendo se o textBox1 que o cdigo for igual a fazio ento aparece a mensagem, isso porque neste sistema obrigado retornar o cdigo do sistema. If Me.TextBox1 = "" Then MsgBox "Nome no cadastrado", vbInformation, "Banco de dados": Exit Sub

Tela 002 Vou mostar para voc como ira aparecer esta mensagem na tela, lembrando que este deve ficar por em baixo dos demais cdigo:

82

GABRIEL CARVALHO JARDIM

Tela 003 Seguindo a criao do cdigo utilizares o control DO UNTIL esta vai faz er com que retorne os registros do banco. LIN = 2 Do Until rs.EOF LIN = LIN + 1 rs.MoveNext Loop No inicio temos LIN=2, ou seja queremos comaar a pesquisar a partir da segunda linha do banco, porque a primeira o cabealho, utilizamos o Do Until mais a variavel do banco rs.EOF para para percorrer os registros at o final em busca do que digitamos, se for verdadeiro, ou seja, no momento que ele encontra o registro ele retorna o mesmo, para que faa esta movimentao utilizamos rs.moveNext em forma de loop, parece um pouco complicado, mas resumindo ira percorrendo linha a linha da planilha na qual transformamos em banco de dados atrs do registro.

83

GABRIEL CARVALHO JARDIM

Tela 004 Para terminar temos que colocar mais um cdigo, onde iremos selecionar o campo que iremos buscar fazendo com o mesmo um teste, mais os campos com seus objetos para mostrarmos os registros retornados. If rs("FILIAL") = Me.TextBox2.Text Then Me.TextBox1 = rs.Fields("N") Me.TextBox3 = rs.Fields("MATRICULA") Me.TextBox4 = rs.Fields("NOME") Me.TextBox5 = rs.Fields("CPF") Me.TextBox6 = rs.Fields("RG") Me.TextBox7 = rs.Fields("NASC") Me.TextBox8.Text = LIN End If Do lado esquerdo os objetos, que em neste caso so os TextBox passando o sinal de = mais os campos o nome dos campos do banco de dados.

84

GABRIEL CARVALHO JARDIM

Tela 005 Esta pronto o cdigo que ira retornar os registros do banco de dados, este bem simples, ira retornar apenas um registro de cada vez, existem situaes que precisamos retornar vrios registros, por exemplo, digamos que voc tem um cadastro de clientes e neste existem cadastrados 10 pessoas que iniciam com o no Neli, poderia ser criado um cdigo para retornar estes 10 nomes ao mesmo tempo, isso irei ensinar nos prximos tutorias, este mesmo cdigo que acabamos de criar pode ser ainda mais incrementado, mas preferi fazer assim para irmos devagar, ao longo dos demais tutorial poderei voltar a fazer mais alteraes no mesmo. O importante, e este meu objetivo principal que voc posso utilizar estes cdigos adaptando as suas necessidades do seus sistema, abaixo aparece a tela com uma pesquisa efetuada.

85

GABRIEL CARVALHO JARDIM

Tela 006 Outro fator importante para que os cdigos funcione corretamente ativar a biblioteca chamada Microsof Dao, no editor de VBA, clique em ferramentas, referncias e depois ative a mesma.

Tela 007

Concluso:
Neste tutorial ensinei voc a criar o cdigo para retornar do bando de dados os regitros e tambm como ativar a biblioteca Microsoft Dao, sempre mostrando passo a passo atravs de telas e explicando o funcionamento das funes de forma simples direta e objetiva atravs das telas o que vai facilitar o seu aprendizado. Bons estudos e at a prxima parte.

86