Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Listbox em cascata (Resolvido )

Dúvidas gerais sobre Excel
veiobilly
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Set 30, 2010 1:57 pm

Listbox em cascata (Resolvido )

Mensagem por veiobilly »

Bom dia, estou com uma dúvida que não encontrei no fórum.

Tenho uma lista de ramais aqui na empresa e quero fazer um formulario para pesquisa dos número, porém quero 3 listbox, na primeira, seleciona a unidade, na segunda irá aparecer somente os setores desta unidade, e quando seleciono o setor na terceira deverá aparecer somente as pessoas que trabalham neste setor. como faço isso?

Planilha pode ser baixada aqui: http://www.brdelorean.com/blogando/wp-c ... CIEEPR.xls

Obrigado.
Leandro Souza
Editado pela última vez por veiobilly em Qua Out 20, 2010 10:25 am, em um total de 2 vezes.


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: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Listbox em cascata

Mensagem por webmaster »

Leandro,

É mais ou menos isso?

http://www.tomasvasquez.com.br/blog/mic ... encadeados

No caso, troque o ComboBox pelo ListBox. Funciona bem.

Abraços


veiobilly
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Set 30, 2010 1:57 pm

Re: Listbox em cascata (Resolvido parcialmente)

Mensagem por veiobilly »

Perfeito Tomás, só que gerou um problema...

Como nem todas as linhas das colunas estão preenchidas, quando eu seleciono uma unidade por exemplo quando aparece uma linha da coluna setor, o loop para deixando a resposta incompleta, como faço para contornar isso? (Ok, resolvi criando uma categoria para as linhas em branco) OK

Outra questão, eu gostaria que a resposta do segundo list box chegasse em ordem alfabética para ficar fácil a procura para o terceiro list box...

Edit: Outra questão...

Abraços
Leandro Souza
Editado pela última vez por veiobilly em Ter Out 19, 2010 2:42 pm, em um total de 1 vez.


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

Re: Listbox em cascata (Resolvido parcialmente)

Mensagem por webmaster »

Leandro,

Linhas? Colunas? Mais detalhes... ;)

Abraços


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.


veiobilly
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Set 30, 2010 1:57 pm

Re: Listbox em cascata (Resolvido parcialmente)

Mensagem por veiobilly »

Ok, a primeira questão que coloquei já resolvi apenas preenchi as células em branco com uma categoria específica.

Na verdade o que quero agora é que o combobox onde vem a resposta com a filtragem do primeiro, mostre os dados em ordem alfabética, é possível isso?

Abraços.


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

Re: Listbox em cascata (Resolvido parcialmente)

Mensagem por webmaster »

Colega,

Veja se isso ajuda:

Código: Selecionar todos

Sub SortListBox(oLb As MSForms.ListBox, sCol As Integer, sType As Integer, sDir As Integer)
    Dim vaItems As Variant
    Dim i As Long, j As Long
    Dim c As Integer
    Dim vTemp As Variant
    
    'Put the items in a variant array
    vaItems = oLb.List
    
    'Sort the Array Alphabetically(1)
    If sType = 1 Then
        For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
            For j = i + 1 To UBound(vaItems, 1)
                'Sort Ascending (1)
                If sDir = 1 Then
                    If vaItems(i, sCol) > vaItems(j, sCol) Then
                        For c = 0 To oLb.ColumnCount - 1 'Allows sorting of multi-column ListBoxes
                            vTemp = vaItems(i, c)
                            vaItems(i, c) = vaItems(j, c)
                            vaItems(j, c) = vTemp
                        Next c
                    End If

                'Sort Descending (2)
                ElseIf sDir = 2 Then
                    If vaItems(i, sCol) < vaItems(j, sCol) Then
                        For c = 0 To oLb.ColumnCount - 1 'Allows sorting of multi-column ListBoxes
                            vTemp = vaItems(i, c)
                            vaItems(i, c) = vaItems(j, c)
                            vaItems(j, c) = vTemp
                        Next c
                    End If
                End If
    
            Next j
        Next i
    'Sort the Array Numerically(2)
    '(Substitute CInt with another conversion type (CLng, CDec, etc.) depending on type of numbers in the column)
    ElseIf sType = 2 Then
        For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
            For j = i + 1 To UBound(vaItems, 1)
                'Sort Ascending (1)
                If sDir = 1 Then
                    If CInt(vaItems(i, sCol)) > CInt(vaItems(j, sCol)) Then
                        For c = 0 To oLb.ColumnCount - 1 'Allows sorting of multi-column ListBoxes
                            vTemp = vaItems(i, c)
                            vaItems(i, c) = vaItems(j, c)
                            vaItems(j, c) = vTemp
                        Next c
                    End If

                'Sort Descending (2)
                ElseIf sDir = 2 Then
                    If CInt(vaItems(i, sCol)) < CInt(vaItems(j, sCol)) Then
                        For c = 0 To oLb.ColumnCount - 1 'Allows sorting of multi-column ListBoxes
                            vTemp = vaItems(i, c)
                            vaItems(i, c) = vaItems(j, c)
                            vaItems(j, c) = vTemp
                        Next c
                    End If
                End If
    
            Next j
        Next i
    End If
    
    'Set the list to the array
    oLb.List = vaItems
End Sub
Referência:
http://www.ozgrid.com/forum/showthread. ... 509&page=1


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Listbox em cascata (Resolvido parcialmente)

Mensagem por Mauro Coutinho »

Leandro, apesar de ja estar praticamente solucionado sua solicitação, de uma olhada no Tópico abaixo onde postei um modelo que faz o que pretende tanto em combo como em listbox, é só desconsiderar a função split e adaptar as demais.

Modelo ListBox/ComboBox Dependentes com Função SPLIT
viewtopic.php?f=6&t=466&p=2849&hilit=split#p2849

Espero que ajude.

abraços


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