Você está na página 1de 3

Objeto ListView com Filtro

Como vimos na postagem anterior - Trabalhando com Objetos no Excel - ListView - o listview um objeto muito interesssante de ser utilizado em projetos desenvolvidos no Excel. Nesta postagem, estarei dando outras explicaes sobre a utilizao do listview: com a possibilidade de filtrar as informaes que so apresentadas nele.

Quando um formulrio que contm um listview carregado, o mesmo (listview) pode ser preenchido com informaes (dados). Veja a figura ao lado. O cdigo para executar este preenchimento foi explicado na postagem: Trabalhando com Objetos no Excel - ListView. Notamos, na figura ao lado, que h trz pases sendo apresentados com suas devidas Unidades da Federao (UF / Estados).

Para que possamos aplicar um filtro nesta listagem fazendo com que aparea apenas determinado pas, podemos utilizar o objeto ComboBox.

No exemplo ao lado, o objeto ComboBox foi nomeado: 'cdPais'. Para que o objeto ComboBox (cdPais) filtre os dados que vo ser listados na ListView, podemos utilizar o cdigo (macro) a seguir (observao: este cdigo deve ser colocado no evento Change do objeto cdPais):

Private Sub cdPais_Change() lastRow = Plan1.Cells(Rows.Count, "a").End(xlUp).Row ListView1.ListItems.Clear ' Adiciona itens For x = 2 To lastRow If UCase(Plan1.Cells(x, 2)) Like "*" & UCase(cdPais) & "*" 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 End If

Next End Sub

A linha destacada na cor cinza no cdigo acima responsvel pela aplicao do filtro. UCase: Retorna uma seqncia de caracteres convertida em letras maisculas. Like: Compara sequncias de caracteres. * (Astersco): corresponde a zero ou masi caracteres. &: Concatena (junta) sequncias de caracteres.

Note na figura acima: assim que formos digitando o nome do pas, o cdigo que est relacionado a este objeto executado listando apenas o pas que tem o nome ou parte do nome escrito com suas respectivas UF (Estados).

Read more: http://excelmax.blogspot.com/2012/04/trabalhando-com-objetos-noexcel_07.html#ixzz29VfqTxfP

Você também pode gostar