quarta-feira, 16 de março de 2011

Criar um Cadastro no Excel com VBA - Parte III

    Esta postagem dará continuidade a série: 'Criar um Cadastro no Excel com VBA'. As postagens anteriores que abordam este assunto podem ser acessadas nos links a seguir:
    Na caixa de cadastro que será acessada, precisamos fazer com que alguns dos objetos sejam preenchidos de forma automática.

    Note na figura a baixo, nas duas áreas destacadas em vermelho, que estes objetos estão em branco, ou seja, sem dados. O 2° objeto (um ListView) deverá ter um cabeçalho assim que a caixa de cadastro for acionada.

   

    A figura abaixo demonstra onde os códigos devem ser digitados: evento 'Inicialize'.



    Na figura abaixo, 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.
  • Do Until  ...  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.


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



    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, favor postar comentário que terei prazer em responder. Fico no aguardo de sua sugestão. (Obrigado!)

    Você pode participar desta série de postagem, sugerindo algo a ser incluso. Por exemplo: algum cálculo, foto do produto, etc ...

    Download: Cadastro de Produtos.

Sobre o autor: Ivair Claudio Ferrari é Certificado: Microsoft Office Excel 2007 Specialist; CEO ExcelMax® Soluções, Consultoria e Desenvolvimento de Soluções e Softwares baseados em Excel/VBA e Treinamentos Excel e VBA In-Company. YouTube | Facebook | LinkedIn | Twitter | Google Plus

11 comentários :

  1. Boa tarde Ivair! Estou acompanhando esta serie de postagens sobre o cadastro de produtos e me surgiu uma duvida quanto a descrição do produto. Caso o produto a ser cadastrado tenha uma descrição diferente daquela listada no combobox como será feito o cadastro da descrição? O campo descrição irá permitir que o usuario digite uma nova descrição para um novo produto? Agora uma sugestão: Ao cadastrar um novo produto o usuario informa seus atributos e a sua quantidade. Seria interessante(mais para frente)criar um método que proporcionasse ao usuario a possibilidade de lançar novas quantidades de um determinado produto que seria automaticamente atualizado na base de dados. Mais uma vez, parabens pelas explicações. Até mais!

    ResponderExcluir
  2. Boa tarde professor! trabalho no setor de expedição da empresa e criei um formulário (e base de dados)para digitar e armazenar as notas coletadas pelas transportadoras.porém gostaria de poder imprimir um relatório com base em alguns critérios como por exemplo: transportadora, data da coleta, nº da nota, para que o funcionário da transportadora assine, o senhor poderia me ajudar? agradecido e mais uma vez parabéns pelas postagens.

    André Oliveira.

    ResponderExcluir
  3. Olá Ricardo!
    Primeiro, obrigado pela participação através de seu comentário.
    Este exemplo (simples), é apenas para demonstrar como fazer algumas coisas possíveis através das macros no Excel. Vou dar continuidade, neste exemplo, para demonstrar como fazer para: incluir novos itens, consultar, alterar e excluir itens já existentes.
    Algo que mostrarei também é como atualizar a ListView a cada inclusão, alteração ou exclusão dos itens na base.
    Além de outras funcionalidades que vão surgindo. Estou escrevendo esta série, pensando um pouco mais no pessoal que não conhece ou que conhece pouco de VBA no Excel.
    Ao concluir estas explicações vou postar um novo exemplo (mais avançado e melhor extruturado) pois o correto é fazer os cadastros separados dos lançamentos. Sua sugestão é bem vinda e é isto que farei a seguir. Obrigado pela participação acessando as postagens e dando sua opinião e sugestões. Espalhe, se puder, o endereço do Blog aos seus amigos/contatos. Nos vemos por aqui. Abraço!

    ResponderExcluir
  4. Boa tarde André! Obrigado pelo comentário.
    Com certeza posso lhe ajudar. Vou Colocar uma opção para fazer isso no exemplo (Cadastro) que estou escrevendo. Porém, se precisar logo disso, favor informar que ajudo você de outra forma.
    Também, se puder repassar o endereço do Blog a sue amigos/contatos eu agradeço.
    Fico no aguardo de seu contato.
    Ivair.

    ResponderExcluir
  5. Olá..
    Gostaria de saber qual o erro que estou cometendo dom este código

    Private Sub UserForm_Initialize()
    Tipo.AddItem "FISICO"
    Tipo.AddItem "JURIDICO"
    SimNao.AddItem "SIM"
    SimNao.AddItem "NÃO"

    Lin = 2
    Do Until Sheets("CADCLI").Cells(Lin, ID) = ""
    Nome.AddItem Sheets("CADCLI").Cells(Lin, Fantasia)
    Lin = Lin + 1
    Loop

    With lsLista
    .Gridlines = True
    .View = lvwReport
    .FullRowSelect = True
    .ColumnHeaders.Add Text:="ID", Width:=20
    .ColumnHeaders.Add Text:="Código", Width:=35
    .ColumnHeaders.Add Text:="Nome", Width:=135
    .ColumnHeaders.Add Text:="CNPJ", Width:=90
    .ColumnHeaders.Add Text:="Contato", Width:=80
    .ColumnHeaders.Add Text:="Telefone", Width:=50
    .ColumnHeaders.Add Text:="Email", Width:=100
    End With
    lsLista.ListItems.Clear
    End Sub

    ResponderExcluir
  6. Parabens pelo site. Gostaria de saber quando irá terminar este post para saber qual o resultado final do programa..

    ResponderExcluir
  7. Olá Ivair, Parabéns pelo trabalho, seus tutoriais e vídeos são muito instrutivos.
    Por favor se você puder continuar com este Post seria de grande valia, estou fazendo uma Macro para Criar tabela de Preços e suas dicas estão sendo fundamentais.

    Mais uma vez parabéns!!

    ResponderExcluir
  8. Olá, meu nome é edivan. recentemente comprei uma video aula em um site muito boa, porém limitada de mais, atravez de muitas pesquisas e estudos aprmirei umm pouco os meus conhecimentos e estou afim de adiquirir cada dia mais, acaso vc nao tem um exemplo tipo que eu posso aprender as conceitos mais avançados...

    ResponderExcluir
  9. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  10. Não consigo abrir deve estar faltando alguma biblioteca extra alguem sabe qual macro precisa?

    ResponderExcluir
    Respostas
    1. Caro amigo Kedley:
      Favor dar uma olhada nesta matéria:
      http://excelmax.blogspot.com.br/2012/06/utilizando-ferramenta-regsvr32.html

      Se não conseguir, mande e-mail para: ivairferrari@gmail.com

      Abraço! Ivair Claudio Ferrari

      Excluir

Seja um participante deste Site !!!
Deixe aqui seu comentário e/ou sugestão.
Obrigado !

"... O ExcelMax Soluções apresenta dicas sobre criação de softwares, macros, funções, gráficos e muito mais ! (Excel e VBA + Access + FireBird + SAP) ... Confira e compartilhe com seus amigos ..."

atualizar, excel, excelmax
excelmax, excel