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

sábado, novembro 10, 2012

Dicas de Excel - VBA II

 Dicas de Excel - VBA / Macros - II

Excel, dicas, vba
Na postagem: 'Dicas de Excel - VBA' foram apresentados alguns exemplos de macros que servem como lembretes para nos ajudar quando desenvolvemos soluções ou aplicativos em Excel e VBA (Macros).

Como continuidade estarei abordando mais algumas dicas/lembretes úteis.

Estas, podem ser utilizadas da maneira como apresentadas ou, dependendo da necessidade, faz-se necessário pequenos ajustes.



Dicas de Excel - VBA / Macros (II):

1. Preencher a ListView fazendo a soma de uma coluna (Coluna "c"=Quantidade):
    'limpar a ListView
    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)
        q = q Plan1.cells(x, "c").Value
    Next
    q = FormatNumber(q, 2)    'variável 'q' retorna a soma dos valores da coluna "c"
Observações:
- A soma ( valor da variável 'q' ) pode ser utilizada em células ou em objetos.
   Ex.: TextBox1 = FormatNumber(q, 2)

2. Preencher a ListView alterando a cor da fonte das informações de
    determinada coluna:
    'limpar a ListView
    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.ForeColor = RGB(255, 0, 0)   'Informações da coluna 'c' ficarão na cor vermelha
        li.ListSubItems.Add Text:=Plan1.cells(x, "d").Value
        li.ListSubItems.Add Text:=Ucase(Plan1.cells(x, "e").Value)
        li.ForeColor = RGB(0, 0, 255)   'Informações da coluna 'e' ficarão na cor azul
    Next

3. Preencher a ListView alterando a cor da fonte das informações de
    determinada linha obedecendo determinado critério
    ( Coluna 'd'=Unidade de Medida (Ex.: Kg, L, Un) ) 

    'limpar a ListView
    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)

        If Plan1.cells(x, "d") = "Kg" then
            li.ForeColor = RGB(255, 0, 0)
            li.ListSubItems(1).ForeColor = RGB(255, 0, 0)
            li.ListSubItems(2).ForeColor = RGB(255, 0, 0)
            li.ListSubItems(3).ForeColor = RGB(255, 0, 0)
            li.ListSubItems(4).ForeColor = RGB(255, 0, 0)

            'Cor vermelha se informação da coluna 'd' = "Kg"
        Else
            li.ForeColor = RGB(255, 0, 0)
            li.ListSubItems(1).ForeColor = RGB(0, 0, 0)
            li.ListSubItems(2).ForeColor = RGB(0, 0, 0)
            li.ListSubItems(3).ForeColor = RGB(0, 0, 0)
            li.ListSubItems(4).ForeColor = RGB(0, 0, 0)
            'Cor preta se informação da coluna 'd' diferente de "Kg"
        End If
    Next
Observações:
- Podemos utilizar critério(s) para qualquer tipo de informação.
   Ex.: Intervalo de datas, determinados nomes, determinados valores, e muitos outros ...


A figura a seguir apresenta um exemplo dos códigos/scripts apresentados acima:

Ivair, ExcelMax, Excel

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.

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

Um comentário:

  1. Obrigado pelo tempo que tem dispensado a nós e nos ensinado tanta coisa. Parabéns e obrigado!

    ResponderExcluir

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

Ivair Claudio Ferrari