Dicas de Excel - VBA | Excelmax Soluções e Controles

sábado, novembro 03, 2012

Dicas de Excel - VBA

Dicas de Excel - VBA / Macros

Dicas, Excel, vba, macros
Muitas vezes, quando vamos criar alguma solução ou um aplicativo em Excel utilizando macros nos deparamos com um problema: lembrar a sintaxe correta ou como escrever determinada linha de comando no Visual Basic do Excel.

Um exemplo disso: como escrever uma linha de comando que retorne a última linha utilizada em determinada planilha.

Outro exemplo: qual é o script para a criação do cabeçalho de um ListView e, como preenchê-lo com informações contidas em uma planilha do Excel.


Na postagem: Etapa importante ao desenvolver Softwares no Excel & VBA há alguns exemplos simples que servem como lembretes.
Dicas, Excel, vba, macros

O mais importante não é decorarmos cada linha de comando mas sim, entendermos qual a lógica de programação e entendermos bem o que desejamos ou precisamos fazer. Com isso, sabendo onde encontrar, podemos recorrer rapidamente quando precisarmos.

O objetivo desta matéria:
      -  Ser consultada sempre que necessário.

Dicas de Excel - VBA / Macros:

1. Linha de comando que retorna a última linha que contém dados:

    ultimaLinha = Plan1.Cells(Rows.Count, "a").End(xlUp).Row

2. Criar o cabeçalho de uma ListView:
    With ListView1
        .HotTracking = True
        .Gridlines = True
        .View = lvwReport
        .FullRowSelect = True
        .ColumnHeaders.Add Text:="Código", Width:=60
        .ColumnHeaders.Add Text:="Descrição", Width:=200, Alignment:=0
        .ColumnHeaders.Add Text:="Quantidade", Width:=70, Alignment:=1
        .ColumnHeaders.Add Text:="Unidade Medida", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Observações", Width:=200, Alignment:=0
     End With

3. Preencher a ListView:
    'limpar
    ListView1.ListItems.Clear

    'Adiciona itens na ListView1
    ultimaLinha = Plan1.Cells(Rows.Count, "a").End(xlUp).Row
    For x = 2 To ultimaLinha 
        Set li = ListView1.ListItems.Add(Text:=Plan1.Cells(x, "a").Value)
        li.ListSubItems.Add Text:=Plan1.Cells(x, "b").Value
        li.ListSubItems.Add Text:=Plan1.Cells(x, "c").Value
        li.ListSubItems.Add Text:=Plan1.Cells(x, "d").Value
        li.ListSubItems.Add Text:=UCase(Plan1.Cells(x, "e").Value)
    Next

4. Prencher objetos (TextBox e Combobox) selecionando um item na ListView:
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
       cdCodigo = ListView1.SelectedItem
       cdDescricao = ListView1.SelectedItem.ListSubItems(1)
       cdQuantidade = ListView1.SelectedItem.ListSubItems(2)
       cdUnidadeMedida = ListView1.SelectedItem.ListSubItems(3)
       cdObservacoes = ListView1.SelectedItem.ListSubItems(4)
    End Sub

5. Prencher a ListView obedecendo a um critério:
    'limpar
    ListView1.ListItems.Clear

    'Adiciona itens na ListView1 de acordo com um critério (Unidade Medida = KG)
    ultimaLinha = Plan1.Cells(Rows.Count, "a").End(xlUp).Row
    For x = 2 To ultimaLinha 
        If Ucase(Plan1.Cells(x, "d")) = "KG" Then
            Set li = ListView1.ListItems.Add(Text:=Plan1.Cells(x, "a").Value)
            li.ListSubItems.Add Text:=Plan1.Cells(x, "b").Value
            li.ListSubItems.Add Text:=Plan1.Cells(x, "c").Value
            li.ListSubItems.Add Text:=Plan1.Cells(x, "d").Value
            li.ListSubItems.Add Text:=UCase(Plan1.Cells(x, "e").Value)
        End If
    Next

Estarei disponibilizando outras dicas a partir de hoje. Tenha como objetivo, estar acessando o ExcelMax® Soluções todos os dias para não perder as novidades e para estudar tanto as novas como ver e rever as matérias já publicadas.

Compartilhe com seus amigos enviando-lhes e-mails, divulgando nas Redes Sociais, por telefone, falando-lhes pessoalmente ou da forma que puder e desejar.

Você pode fazer parte da Comunidade ExcelMax® Soluções. Para isso,basta acessar e inscrever-se. Desta forma, a cada nova publicação você estará recebendo informações em seu e-mail.

Inscreva-se também, em meu canal no YouTube: http://www.youtube.com/ivairferrari


Abraço a Todos!
Professor e Consultor: Ivair Claudio Ferrari

Sobre o autor: Ivair Ferrari é Certificado: Microsoft Office Excel Specialist; Consultoria e Desenvolvimento de Soluções e Softwares em Excel/VBA, Bancos de dados Access, Firebird, Oracle, Interação com SAP/R3 e Treinamentos In-Company. YouTube | Facebook | LinkedIn | Twitter | Google Plus

2 comentários :

  1. F.A.N.T.Á.S.T.I.C.O professor Ivair. Gostei muito desta matéria. Com certeza serve como consulta. Estou ansioso aguardando mais novidades como esta. Obrigado e um Abraço!

    Solano.

    ResponderExcluir
    Respostas
    1. Valeu amigo Solano por sempre estar participando.
      Vou dar sequencia a esta e outras matérias em breve. Continue acessando.

      Abraço!
      Professor e Consultor: Ivair Claudio Ferrari

      Excluir

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

Ivair Claudio Ferrari

atualizar, excel, excelmax, ivair ferrari
topo, excelmax, excel, ivair ferrari