Criar um Cadastro no Excel com VBA

Tenho percebido em minhas pesquisas e análises estatíticas do Blog (ExcelMax®) que há uma grande procura por macros/vba no Excel. Muitos não conhecem e querem aprender. Outros, já tem uma boa noção e querem aprimorar este conhecimento. Outros, já sabem muito, mas, todo bom estudante sempre quer aprender mais, assim como eu, que também sempre estou estudando. A partir desta postagem, de uma série de outras, estarei passando orientações, 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 lançamentos de novos itens. Abaixo vemos a figura que mostra a tela de lançamentos que foi criada no VBA

Nesta tela devem ser feitas várias configurações para que cada objeto da tela funcione. Na próxima postagem estarei explicando como fazer para configurar cada objeto: campos, botões, 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 evolução do desenvolvimento do cadastro podem utilizá-la.

2. O 2° objeto (um ListView) deverá ter um cabeçalho assim que a caixa de cadastro for acionada. vemos o código que alimenta o campo descrição/nome do produto (cdDesc). Do Until . Note na figura a baixo.. Na figura abaixo. nas duas áreas destacadas em vermelho. ou seja.Esta postagem dará continuidade a série: 'Criar um Cadastro no Excel com VBA'.. . Criar um Cadastro no Excel com VBA Criar um Cadastro no Excel com VBA Parte II Na caixa de cadastro que será acessada. Loop: faz repetições até que a condição seja verdadeira (até encontrar uma célul vazia ("")). cdDesc: é o campo que é preenchido com os nomes do produto até que seja encontrada uma célula vazia na coluna em que está percorrendo. Explicação do código: • • • lin: é uma variável (que de início vale 2) e que é inrementaa a cada loop(ciclo) que for executado. As postagens anteriores que abordam este assunto podem ser acessadas nos links a seguir: 1. sem dados. A figura abaixo demonstra onde os códigos devem ser digitados: evento 'Inicialize'. que estes objetos estão em branco. precisamos fazer com que alguns dos objetos sejam preenchidos de forma automática.

Podemos observar como ficou a caixa cadastro na figura abaixo. With lsLista . Com os códigos digitados.. . Explicação do código: • • • lsLista: é o nome da ListView. são executadas várias configurações à LitView (lsLista). End With: dentro destes dois comandos.A próxima figura. demonstra como fazemos para criar um cabeçalho na ListView. Note que é neste intervalo que damos o nome as colunas da lista ( 'Text:=' )e configuramos o seu tamanho (largura) da coluna ( 'Width' ). podemos acessar a caixa cadastro e os campos serão preenchidos com as informações da base de dados e/ou com os nomes estabelecidos nos códigos..

. é feita uma soma a cada ciclo (loop) para gerar o total utilizando a quantidade e o preço de cada item. sugerindo algo a ser incluso. vou dar continuidade explicando como fazer para consultar os itens cadastrados através do nome do produto. Após uma breve recapitulação das três primeiras postagens da série "Criar um Cadastro no Excel com VBA". (Obrigado!) Você pode participar desta série de postagem. Fico no aguardo de sua sugestão. Esta etapa é relativamente fácil de entender e serve como base para aplicar a funcionalidade aos botões: Incluir. Download: Cadastro de Produtos. etc . favor postar comentário que terei prazer em responder. Alterar e Excluir. foto do produto. O código que faz este preenchimento está na figura abaixo. Na parte final do código. Há também um total em valores resultante da quantidade e preço de cada item.. Por exemplo: algum cálculo. Note na figura abaixo que a 'ListView' está preenchida com as informações contidas da base de dados..Na próxima postagem darei continuidade às explicações referente a esta série de postagens. Em caso de alguma dúvida referente a esta postagem. Esta parte do código é contução do código que cria o cabeçalho da ListView.

finalizo esta parte da explicação. ajude no crescimento do blog para que o mesmo possa chegar ao maior número de pessoas possível. utilizando a instrução 'Do Until. Se ficou alguma dúvida referente as explicações dadas nesta postagens (ou nas anteriores). Também. Quando o valore respectivo inserido neste campo. o mesmo seja retornado no campo 'cdDesc'. para que retorne as informações.. Para finalizar. o código 'Private Sub cdDesc_Change' faz o preenchimento dos demais campos. . Se tivem alguma sugestão. • • Note que a 1ª tarefa do código é limpar todos os campos ("" = vazio) com excessão do campo 'cdDesc'. Assim. Professor Ivair.. divulque a seus amigos/contatos para mais pessoas possam aprender. utilizei um pequeno código para que. ta'mbém será bem vindo.Loop' (Repete um bloco de instruções até que ela se torne True (verdadeira)). Na próxima postagem estarei explicando como aplicar as funcionalidades aos botões 'Incluir'. Em seguida. ao clicarmos com o mouse em algum tem da ListView. E eu. se esejar. favor postar comentário que terei pazer em responder. 'ALterar' e 'Exluir'. Um grande abraço e até a próxima postagem. Link para download: Cadastro de Produtos Se está gostando desta série des postagens. agradeço a participação e ajuda de todos vocês.Para fazermos uma pesquisa na base de dados que retornar as informações respectivas do item selecionado no campo (objeto ComboBox) cdDesc (descrição do produto) utilizamos o código apresentado na figura a seguir.

as informações foram preenchidas em cada respectivo campo. dou por encerrado esta série (simples) de postagens sobre “Criar um Cadastro no Excel com VBA”. Note que os valores na base (na planilha) e na Lista. são alterados. sofreu pequenas alterações para um melhor entendimento. Dependendo da situação apenas salva o item ou. se for um item novo. Após fazer as alterações e pressionarmos o botão 'Salvar'. . o código apenas salva os dados na base. Na figura abaixo. Com isso. Se o campo 'ID' estiver preenchido. Com o material disposto na série. é o sinal para o código poder identificar que o item é novo e deve ser incluso. vemos a caixa cadastro ativa. os dados. excluí os botões 'Incluir' e 'Alterar' e deixei apenas um que faz a tarefa dos dois: 'Salvar'. com determinação e bastante estudo. tanto na base como na lista (do formulário). já é possível.Com esta postagem. retomarei sobre este assunto. o mesmo é incluso na base. abordando outras situações que envolvam macros. Note isso na figura abaixo. Este exemplo. O que foi abordado Que alterações foram estas? Bem. ainda não foi pressionado o botão 'Salvar'. conseguir evoluir e criar o seu próprio cadastro. nesta postagem é a parte de inclusão e alteração de itens na base de dados. Nesta figura. Como o código identifica se o item deve apenas ser salvo ou ele deve ser incluso na base? Bem: se o campo 'ID' estiver em branco. Fiz uma alteração no campo 'Qtdade' e na opção 'Ativo'. comparando com os anteriores. ainda são os originais. O item com o 'ID' 1 foi selecionado. Com certeza mais a frente.

com certeza estarei esclarecendo. Código para preencher o campo (ComboBox) nome/descrição do produto (cdDesc). pois a mesma dúvida (sua) pode ser de outra pessoa e. favor divulgar a seus amigos/contatos. Colocar. Veja um breve resumo de cada uma delas: Criar um Cadastro no Excel com VBA • • • Criar uma base de dados com cabeçalhos na linha superior.No link abaixo. Se ainda não for seguidor do BLOG. Há ainda o evento inicialize que executa de forma automática o preenchimento de alguns campos quando a caixa cadastro é executada. Nesta postagem há uma listagem de como ficou cada nome de objeto. Na próxima postagem estarei abordando demais aspectos que devem ser observados. utilizamos a propriedade 'Name'. Para os 'TextBox'. Se gostou desta série de postagens ou de outras. expliquei partes importantes que devem ser observadas na elaborção de um aplicativo no Excel utilizando o VBA. Código para criar um cabeçalho à lista (ListView). Recapitulando: Criar um Cadastro no Excel com VBA Nas 03 primeiras postagens abordando o assunto do título desta postagem. utilizamos a propriedade 'Caption'. Criar um Cadastro no Excel com VBA . um nome identificador (como se fosse uma placa identificadora para sabermos a que o objeto se refere ou o que ele faz). Para o 'Labels'.Final Se ficar dúvidas relacionadas a alguma parte do código. . Pode ser através de um questionamento (em caso de não entender determinada explicação) ou sugestão para inclusão de algo ao projeto. Download: Cadastro de Produtos . Conto com você. Criar uma tela (UserForm) no VBA. reforço o pedido: faça seu comentário referente a série de postagens 'Criar um Cadastro no Excel com VBA'. Dar nome aos objetos que estão no UserForm. limpar e sair. favor postar comentário. Você e seus amigos estão convidados a fazerem parte do site sendo seguidores e participando com idéias e/ou questionamentos. É muito importante que cada postagem seja lida na íntegra e com atenção (em especial para aqueles que estão iniciando). Analise os códigos que executam cada função: seja ela de consulta. pode ser feito o download da planilha. está convidado a participar.Parte II • • • • Dar um nome ao UserForm (propriedade 'Name').Parte III • • • • Preenchimento automático de alguns objetos assim que o UserForm (CADASTRO) for iniciado. Conforme postagem anterior. Também há um link para download (exemplo) em cada uma das três postagens. na parte superior esquerda do UserForm. Se gostou desta e/ou das outras postagens favor divulgar a seus amigos/contatos. Criar campos (objetos) no UserForm (tela) que servirão para o manuseio dos dados que estão ou estarão na base de dados. Onde colocar os códigos para que eles sejam executados de forma automática. Criar um Cadastro no Excel com VBA . inclusão/alteração (botão Salvar). Em nosso exemplo: 'CADASTRO' (propriedade 'Caption').