COMO SELECIONAR APENAS O CONTEUDO FILTRADO?
E aà pessoal, estou aprendendo vba e estou precisando atualizar uma list view a cada filtragem,a forma q eu pensei em imediato foi copiar apenas o conteudo
filtrado pra outra planilha auxiliar e carregar por lá os itens da listview, já q não estamos utilizando tabela dinâmica, mas o problema é que os itens filtrados
não são sequencias(como na filtragem com tabela dinamica), então tenho varias linhas [Ô]dispersas[Ô] o que está atrapalhando muito para fazer o código
da listview, alguém aà tem idéia?
Abraço a todos!
filtrado pra outra planilha auxiliar e carregar por lá os itens da listview, já q não estamos utilizando tabela dinâmica, mas o problema é que os itens filtrados
não são sequencias(como na filtragem com tabela dinamica), então tenho varias linhas [Ô]dispersas[Ô] o que está atrapalhando muito para fazer o código
da listview, alguém aà tem idéia?
Abraço a todos!
Citação:o problema é que os itens filtrados não são sequencias
Eles precisam estar ordenados por algum campo?
não , só preciso deles filtrados aparecendo como se fossem os unicos itens na tabela, isso para carregar a listview apenas
com o conteudo que foi filtrado, o problema que quando uso o autofilter as células que foram filtradas estão em células aleatórias(tipo 4,18,22) e quando uso o copy/paste
ele carrega todos esses itens e oculta os que não entraram na filtragem, enganando minha listview e mostrando td conteudo de novo,rsrs
com o conteudo que foi filtrado, o problema que quando uso o autofilter as células que foram filtradas estão em células aleatórias(tipo 4,18,22) e quando uso o copy/paste
ele carrega todos esses itens e oculta os que não entraram na filtragem, enganando minha listview e mostrando td conteudo de novo,rsrs
Precisei disso uma vez e fiz um código aqui bem improvisado mas funciona.
Se quiser melhorar, agradeço e atualizo na minha aplicação
Se quiser melhorar, agradeço e atualizo na minha aplicação
Private Sub ListView2_KeyDown(KeyCode As Integer, Shift As Integer)
Dim cont As Integer
Dim selecionados As Integer
Dim item As ListItem
For Each item In ListView2.ListItems
If item.Selected Then
selecionados = selecionados + 1
End If
Next
If KeyCode = vbKeyDelete Then
For cont = 1 To ListView2.ListItems.Count - 1
If Not selecionados = ListView2.ListItems.Count Then
If Not ListView2.ListItems(cont).Selected Then
ListView2.ListItems.Remove (cont)
cont = cont - 1
End If
End If
Next
End If
End Sub
Tópico encerrado , respostas não são mais permitidas