[RESOLVIDO] Duvida para adicionar itens em Listbox
Enviado: Qui Dez 01, 2016 11:57 am
Boa tarde,
Olá, antes de tudo agradeço antecipadamente pela ajuda, aviso que sou leigo na linguagem VBA, mas me arrisco a criar uns formulários para gerar planilhas com os tópicos que existem neste site, que por sinal é muito bom para ajudar pessoas como eu.
Bom!!!! Meu problema é o seguinte, tenho que gerar itens para uma Listbox a partir de uma uma coluna A:A, que apresenta linhas com informações repetidas e com linhas ocultas também, em razão de existir filtros em outras colunas.
Para isso eu precisaria criar uma razão na qual desconsideraria as linhas ocultas mostrando somente as visíveis e mostrar somente uma vez as que estão repetidas. Eu ate tenho a razão de forma separada mas não consigo juntar as duas em uma só:
Será que alguém poderia me ajudar com este problema?
Obrigado mais uma vez!!!
Olá, antes de tudo agradeço antecipadamente pela ajuda, aviso que sou leigo na linguagem VBA, mas me arrisco a criar uns formulários para gerar planilhas com os tópicos que existem neste site, que por sinal é muito bom para ajudar pessoas como eu.
Bom!!!! Meu problema é o seguinte, tenho que gerar itens para uma Listbox a partir de uma uma coluna A:A, que apresenta linhas com informações repetidas e com linhas ocultas também, em razão de existir filtros em outras colunas.
Para isso eu precisaria criar uma razão na qual desconsideraria as linhas ocultas mostrando somente as visíveis e mostrar somente uma vez as que estão repetidas. Eu ate tenho a razão de forma separada mas não consigo juntar as duas em uma só:
Código: Selecionar todos
Sub visualiza_sem_repetições()
'visualiza sem repetições
Me.ListBox1.Clear
Dim OCOLLECTION As New Collection
Dim VARVALUE As Variant
Dim I, ULTLINHA As Long
ULTLINHA = Plan1.Range("A65536").End(xlUp).Row
On Error Resume Next
For Each VARVALUE In Plan1.Range("A2:A" & ULTLINHA) 'Le os valores a partir da Linha2
'Convertemos a VARVALUE em Numero usando
'a Funções de conversão de tipos CStr
OCOLLECTION.Add CStr(VARVALUE), CStr(VARVALUE)
Next
For I = 1 To OCOLLECTION.Count
ListBox1.AddItem OCOLLECTION.Item(I)
Next
End Sub
Sub visualiza_somente_filtradas()
'visualiza somente filtradas
Dim lLast As Long
Dim l As Long
With ThisWorkbook.Sheets("Plan1")
ListBox1.ColumnCount = 7
ListBox1.Clear
lLast = .Cells(.Rows.Count, "A").End(xlUp).Row
'Considerando uma linha de cabeçalho:
For l = 2 To lLast
If .Rows(l).Hidden = False Then
ListBox1.AddItem Plan1.Cells(l, "A")
End If
Next l
End With
End Sub
Será que alguém poderia me ajudar com este problema?
Obrigado mais uma vez!!!