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.

. O 2° objeto (um ListView) deverá ter um cabeçalho assim que a caixa de cadastro for acionada. precisamos fazer com que alguns dos objetos sejam preenchidos de forma automática. 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. . A figura abaixo demonstra onde os códigos devem ser digitados: evento 'Inicialize'. As postagens anteriores que abordam este assunto podem ser acessadas nos links a seguir: 1. nas duas áreas destacadas em vermelho. vemos o código que alimenta o campo descrição/nome do produto (cdDesc). Na figura abaixo. cdDesc: é o campo que é preenchido com os nomes do produto até que seja encontrada uma célula vazia na coluna em que está percorrendo. ou seja. Loop: faz repetições até que a condição seja verdadeira (até encontrar uma célul vazia ("")). Note na figura a baixo. que estes objetos estão em branco.. Do Until . sem dados.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. 2.

Explicação do código: • • • lsLista: é o nome da ListView.A próxima figura. 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. Com os códigos digitados. demonstra como fazemos para criar um cabeçalho na ListView. With lsLista . são executadas várias configurações à LitView (lsLista). End With: dentro destes dois comandos. Podemos observar como ficou a caixa cadastro na figura abaixo... .

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

utilizei um pequeno código para que.. Se ficou alguma dúvida referente as explicações dadas nesta postagens (ou nas anteriores). Também.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. Para finalizar. Quando o valore respectivo inserido neste campo.. utilizando a instrução 'Do Until.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'. se esejar. agradeço a participação e ajuda de todos vocês. divulque a seus amigos/contatos para mais pessoas possam aprender. o código 'Private Sub cdDesc_Change' faz o preenchimento dos demais campos. Em seguida. E eu. Assim. Se tivem alguma sugestão. ta'mbém será bem vindo. o mesmo seja retornado no campo 'cdDesc'. finalizo esta parte da explicação. • • Note que a 1ª tarefa do código é limpar todos os campos ("" = vazio) com excessão do campo 'cdDesc'. Link para download: Cadastro de Produtos Se está gostando desta série des postagens. favor postar comentário que terei pazer em responder. Um grande abraço e até a próxima postagem. para que retorne as informações. ajude no crescimento do blog para que o mesmo possa chegar ao maior número de pessoas possível. Professor Ivair. ao clicarmos com o mouse em algum tem da ListView. 'ALterar' e 'Exluir'. .

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

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

Sign up to vote on this title
UsefulNot useful