Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

[RESOLVIDO] Duvida para adicionar itens em Listbox

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
wweilersed
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qui Dez 01, 2016 11:32 am

[RESOLVIDO] Duvida para adicionar itens em Listbox

Mensagem por wweilersed » 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ó:

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!!!
Editado pela última vez por wweilersed em Seg Dez 05, 2016 11:54 am, em um total de 1 vez.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 2569
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Duvida para adicionar itens em Listbox

Mensagem por webmaster » Qui Dez 01, 2016 2:39 pm

wweilersed,

Ficou uma divuda. O que precise ser de fato o resultado final? A lista sem repeticao e somente com os itens visiveis? Se sim, nao basta adicionar na primeira sub a checagem de se a Row esta com o Hidden = False?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1087
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Duvida para adicionar itens em Listbox

Mensagem por Reinaldo » Qui Dez 01, 2016 2:49 pm

Uma possibilidade, teste/exeperimente

Código: Selecionar todos

Sub visualiza_Filtrada_sem_repetições()
'visualiza sem repetições
Me.ListBox1.Clear
Dim OCOLLECTION As New Collection
Dim VARVALUE As Variant
Dim I As Long, 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
    If Plan1.Rows(VARVALUE.Row).Hidden = False Then
        'Convertemos a VARVALUE em Numero usando
        'a Funções de conversão de tipos CStr
        OCOLLECTION.Add CStr(VARVALUE), CStr(VARVALUE)
    End If
Next
For I = 1 To OCOLLECTION.Count
    ListBox1.AddItem OCOLLECTION.Item(I)
Next
End Sub


Reinaldo
Gostou da resposta?:?: :oops: :D :mrgreen:

wweilersed
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qui Dez 01, 2016 11:32 am

Re: Duvida para adicionar itens em Listbox

Mensagem por wweilersed » Sex Dez 02, 2016 8:37 am

webmaster escreveu:wweilersed,

Ficou uma divuda. O que precise ser de fato o resultado final? A lista sem repeticao e somente com os itens visiveis? Se sim, nao basta adicionar na primeira sub a checagem de se a Row esta com o Hidden = False?
Eu não dei contar de acrescentar, como falei sou leigo :cry: , vou pegando uma coisa ali, outra coisa lá...mas obrigado!!!


Reinaldo escreveu:Uma possibilidade, teste/exeperimente

Código: Selecionar todos

Sub visualiza_Filtrada_sem_repetições()
'visualiza sem repetições
Me.ListBox1.Clear
Dim OCOLLECTION As New Collection
Dim VARVALUE As Variant
Dim I As Long, 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
    If Plan1.Rows(VARVALUE.Row).Hidden = False Then
        'Convertemos a VARVALUE em Numero usando
        'a Funções de conversão de tipos CStr
        OCOLLECTION.Add CStr(VARVALUE), CStr(VARVALUE)
    End If
Next
For I = 1 To OCOLLECTION.Count
    ListBox1.AddItem OCOLLECTION.Item(I)
Next
End Sub
Puxa cara, funcionou perfeitamente!!! Obrigado!!!



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


galdyno
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Qua Fev 13, 2019 12:56 pm

Re: [RESOLVIDO] Duvida para adicionar itens em Listbox

Mensagem por galdyno » Qua Fev 13, 2019 12:59 pm

quando rodo no meu sistema esse código ele aparece somente uma coluna não as 15 colunas que devia, o que poderia ser?



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder