Você está na página 1de 7

Criar um Cadastro no Excel com VBA

Tenho percebido em minhas pesquisas e anlises estatticas do Blog (ExcelMax) que h uma grande procura por macros/vba no Excel. Muitos no conhecem e querem aprender. Outros, j tem uma boa noo e querem aprimorar este conhecimento. Outros, j sabem muito, mas, todo bom estudante sempre quer aprender mais, assim como eu, que tambm sempre estou estudando. A partir desta postagem, de uma srie de outras, estarei passando orientaes, passo a passo, de como criar um cadastro, que no meu ponto de vista, um um bom exemplo para iniciar a aprender a trabalhar com VBA/macros no Excel. A primeira coisa a fazer criar uma pequena 'base de dados'. Isso deve ser feito para que possamos criar as telas de acordo com cada campo (coluna) da base de dados. A figura abaixo, apresenta os dados que vamos utilizar como exemplo.

Com a base de dados criada: Podemos criar a tela no VBA que servir para fazer os lanamentos de novos itens. Abaixo vemos a figura que mostra a tela de lanamentos que foi criada no VBA

Nesta tela devem ser feitas vrias configuraes para que cada objeto da tela funcione. Na prxima postagem estarei explicando como fazer para configurar cada objeto: campos, botes, labels, etc ... No link abaixo, pode ser feito o download da planilha referente a esta primeira etapa. Aqueles que quiserem ir estudando ou acompanhando a evoluo do desenvolvimento do cadastro podem utiliz-la.

Esta postagem dar continuidade a srie: 'Criar um Cadastro no Excel com VBA'. As postagens anteriores que abordam este assunto podem ser acessadas nos links a seguir:

1. 2.

Criar um Cadastro no Excel com VBA Criar um Cadastro no Excel com VBA Parte II

Na caixa de cadastro que ser acessada, precisamos fazer com que alguns dos objetos sejam preenchidos de forma automtica. Note na figura a baixo, nas duas reas destacadas em vermelho, que estes objetos esto em branco, ou seja, sem dados. O 2 objeto (um ListView) dever ter um cabealho assim que a caixa de cadastro for acionada.

A figura abaixo demonstra onde os cdigos devem ser digitados: evento 'Inicialize'.

Na figura abaixo, vemos o cdigo que alimenta o campo descrio/nome do produto (cdDesc). Explicao do cdigo:

lin: uma varivel (que de incio vale 2) e que inrementaa a cada loop(ciclo) que for executado. Do Until ... Loop: faz repeties at que a condio seja verdadeira (at encontrar uma clul vazia ("")). cdDesc: o campo que preenchido com os nomes do produto at que seja encontrada uma clula vazia na coluna em que est percorrendo.

A prxima figura, demonstra como fazemos para criar um cabealho na ListView. Explicao do cdigo:

lsLista: o nome da ListView. With lsLista ... End With: dentro destes dois comandos, so executadas vrias configuraes LitView (lsLista). Note que neste intervalo que damos o nome as colunas da lista ( 'Text:=' )e configuramos o seu tamanho (largura) da coluna ( 'Width' ).

Com os cdigos digitados, podemos acessar a caixa cadastro e os campos sero preenchidos com as informaes da base de dados e/ou com os nomes estabelecidos nos cdigos. Podemos observar como ficou a caixa cadastro na figura abaixo.

Na prxima postagem darei continuidade s explicaes referente a esta srie de postagens. Em caso de alguma dvida referente a esta postagem, favor postar comentrio que terei prazer em responder. Fico no aguardo de sua sugesto. (Obrigado!) Voc pode participar desta srie de postagem, sugerindo algo a ser incluso. Por exemplo: algum clculo, foto do produto, etc ... Download: Cadastro de Produtos.

Aps uma breve recapitulao das trs primeiras postagens da srie "Criar um Cadastro no Excel com VBA", vou dar continuidade explicando como fazer para consultar os itens cadastrados atravs do nome do produto. Esta etapa relativamente fcil de entender e serve como base para aplicar a funcionalidade aos botes: Incluir, Alterar e Excluir.

Note na figura abaixo que a 'ListView' est preenchida com as informaes contidas da base de dados. H tambm um total em valores resultante da quantidade e preo de cada item.

O cdigo que faz este preenchimento est na figura abaixo. Esta parte do cdigo contuo do cdigo que cria o cabealho da ListView. Na parte final do cdigo, feita uma soma a cada ciclo (loop) para gerar o total utilizando a quantidade e o preo de cada item.

Para fazermos uma pesquisa na base de dados que retornar as informaes respectivas do item selecionado no campo (objeto ComboBox) cdDesc (descrio do produto) utilizamos o cdigo apresentado na figura a seguir.

Note que a 1 tarefa do cdigo limpar todos os campos ("" = vazio) com excesso do campo 'cdDesc'. Em seguida, utilizando a instruo 'Do Until...Loop' (Repete um bloco de instrues at que ela se torne True (verdadeira)), para que retorne as informaes.

Para finalizar, utilizei um pequeno cdigo para que, ao clicarmos com o mouse em algum tem da ListView, o mesmo seja retornado no campo 'cdDesc'. Quando o valore respectivo inserido neste campo, o cdigo 'Private Sub cdDesc_Change' faz o preenchimento dos demais campos. Assim, finalizo esta parte da explicao. Na prxima postagem estarei explicando como aplicar as funcionalidades aos botes 'Incluir', 'ALterar' e 'Exluir'. Se ficou alguma dvida referente as explicaes dadas nesta postagens (ou nas anteriores), favor postar comentrio que terei pazer em responder. Se tivem alguma sugesto, ta'mbm ser bem vindo. Link para download: Cadastro de Produtos Se est gostando desta srie des postagens, divulque a seus amigos/contatos para mais pessoas possam aprender. Tambm, se esejar, ajude no crescimento do blog para que o mesmo possa chegar ao maior nmero de pessoas possvel. E eu, Professor Ivair, agradeo a participao e ajuda de todos vocs. Um grande abrao e at a prxima postagem.

Com esta postagem, dou por encerrado esta srie (simples) de postagens sobre Criar um Cadastro no Excel com VBA. Com certeza mais a frente, retomarei sobre este assunto, abordando outras situaes que envolvam macros. Com o material disposto na srie, j possvel, com determinao e bastante estudo, conseguir evoluir e criar o seu prprio cadastro. nesta postagem a parte de incluso e alterao de itens na base de dados. Este exemplo, comparando com os anteriores, sofreu pequenas alteraes para um melhor entendimento. O que foi abordado Que alteraes foram estas? Bem, exclu os botes 'Incluir' e 'Alterar' e deixei apenas um que faz a tarefa dos dois: 'Salvar'. Dependendo da situao apenas salva o item ou, se for um item novo, o mesmo incluso na base. Como o cdigo identifica se o item deve apenas ser salvo ou ele deve ser incluso na base? Bem: se o campo 'ID' estiver em branco, o sinal para o cdigo poder identificar que o item novo e deve ser incluso. Se o campo 'ID' estiver preenchido, o cdigo apenas salva os dados na base. Na figura abaixo, vemos a caixa cadastro ativa. O item com o 'ID' 1 foi selecionado. Com isso, as informaes foram preenchidas em cada respectivo campo. Fiz uma alterao no campo 'Qtdade' e na opo 'Ativo'. Nesta figura, ainda no foi pressionado o boto 'Salvar'. Note que os valores na base (na planilha) e na Lista, ainda so os originais.

Aps fazer as alteraes e pressionarmos o boto 'Salvar', os dados, tanto na base como na lista (do formulrio), so alterados. Note isso na figura abaixo.

No link abaixo, pode ser feito o download da planilha. Analise os cdigos que executam cada funo: seja ela de consulta, incluso/alterao (boto Salvar), limpar e sair. H ainda o evento inicialize que executa de forma automtica o preenchimento de alguns campos quando a caixa cadastro executada. Download: Cadastro de Produtos - Final Se ficar dvidas relacionadas a alguma parte do cdigo, favor postar comentrio, pois a mesma dvida (sua) pode ser de outra pessoa e, com certeza estarei esclarecendo. Se ainda no for seguidor do BLOG, est convidado a participar. Se gostou desta e/ou das outras postagens favor divulgar a seus amigos/contatos.

Recapitulando: Criar um Cadastro no Excel com VBA


Nas 03 primeiras postagens abordando o assunto do ttulo desta postagem, expliquei partes importantes que devem ser observadas na elaboro de um aplicativo no Excel utilizando o VBA. Veja um breve resumo de cada uma delas: Criar um Cadastro no Excel com VBA

Criar uma base de dados com cabealhos na linha superior; Criar uma tela (UserForm) no VBA; Criar campos (objetos) no UserForm (tela) que serviro para o manuseio dos dados que esto ou estaro na base de dados.

Criar um Cadastro no Excel com VBA - Parte II

Dar um nome ao UserForm (propriedade 'Name'); Colocar, na parte superior esquerda do UserForm, um nome identificador (como se fosse uma placa identificadora para sabermos a que o objeto se refere ou o que ele faz). Em nosso exemplo: 'CADASTRO' (propriedade 'Caption'); Dar nome aos objetos que esto no UserForm. Para os 'TextBox', utilizamos a propriedade 'Name'. Para o 'Labels', utilizamos a propriedade 'Caption'; Nesta postagem h uma listagem de como ficou cada nome de objeto.

Criar um Cadastro no Excel com VBA - Parte III

Preenchimento automtico de alguns objetos assim que o UserForm (CADASTRO) for iniciado; Onde colocar os cdigos para que eles sejam executados de forma automtica; Cdigo para preencher o campo (ComboBox) nome/descrio do produto (cdDesc);

Cdigo para criar um cabealho lista (ListView). Tambm h um link para download (exemplo) em cada uma das trs postagens. muito importante que cada postagem seja lida na ntegra e com ateno (em especial para aqueles que esto iniciando). Na prxima postagem estarei abordando demais aspectos que devem ser observados. Conforme postagem anterior, reforo o pedido: faa seu comentrio referente a srie de postagens 'Criar um Cadastro no Excel com VBA'. Pode ser atravs de um questionamento (em caso de no entender determinada explicao) ou sugesto para incluso de algo ao projeto. Conto com voc. Se gostou desta srie de postagens ou de outras, favor divulgar a seus amigos/contatos. Voc e seus amigos esto convidados a fazerem parte do site sendo seguidores e participando com idias e/ou questionamentos.