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.

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful