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.

nas duas áreas destacadas em vermelho. Criar um Cadastro no Excel com VBA Criar um Cadastro no Excel com VBA Parte II Na caixa de cadastro que será acessada. ou seja. A figura abaixo demonstra onde os códigos devem ser digitados: evento 'Inicialize'. Do Until . Na figura abaixo. As postagens anteriores que abordam este assunto podem ser acessadas nos links a seguir: 1. vemos o código que alimenta o campo descrição/nome do produto (cdDesc). 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... sem dados. Note na figura a baixo. 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. . O 2° objeto (um ListView) deverá ter um cabeçalho assim que a caixa de cadastro for acionada.Esta postagem dará continuidade a série: 'Criar um Cadastro no Excel com VBA'. que estes objetos estão em branco. precisamos fazer com que alguns dos objetos sejam preenchidos de forma automática. 2.

. .A próxima figura. demonstra como fazemos para criar um cabeçalho na ListView. With lsLista . Note que é neste intervalo que damos o nome as colunas da lista ( 'Text:=' )e configuramos o seu tamanho (largura) da coluna ( 'Width' ). são executadas várias configurações à LitView (lsLista). Explicação do código: • • • lsLista: é o nome da ListView. End With: dentro destes dois comandos.. Podemos observar como ficou a caixa cadastro na figura abaixo. 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.

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

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

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

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

Sign up to vote on this title
UsefulNot useful