Ir ao conteúdo

Excel Filtrar listbox baseado na Range


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Pessoal,

Me deparei com uma dúvida.

 

Tenho dois formulários.

Quando clico nas células B4 à B15 abre o form1. Quando clico nas células C4 à C15 abre o form2.

Até aí tudo certo.

 

Será que tem alguma forma do form2 abrir somente os produtos baseados no grupo que inseri na coluna B?

Por exemplo:

Faz parte do "Grupo C": água, refri e cerveja. Então se eu inserir na coluna B o grupo C, então o form2 só abriria essas 3 opções e não a lista toda como está atualmente.

Alguém consegue me ajudar?

CADASTRO.zip

  • Solução
Postado

@Luciana Goes Veja se assim resolve,

Private Sub UserForm_Initialize()
    Dim Planilha As Worksheet
    Dim Area    As Range
    Dim Produto As String
    Dim Linha   As Long
    Dim Grupo   As String
    
    Set Planilha = ThisWorkbook.Sheets("PRODUTOS")
    Linha = 2
    
    While Planilha.Cells(Linha, 1).Value <> ""
        Produto = Planilha.Cells(Linha, 2).Value
        Grupo = Planilha.Cells(Linha, 1).Value
        
        If ActiveCell.Offset(0, -1) = Grupo Then
            If Linha > 1 Then
                Set Area = Planilha.Range("B1:B" & Linha - 1).Find( _
                    What:=Produto, LookIn:=xlValues, LookAt:=xlWhole)
            End If
        
            If Area Is Nothing Then
                Call ListBox1.AddItem(Produto)
            End If
        End If
        Linha = Linha + 1
    Wend
End Sub

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...