none
Pesquisar histórico no ListBox RRS feed

  • Pergunta

  • Olá Boa tarde!

    Sou novata no VBA e estou produzindo um formulário de atendimento que deve funcionar quando  eu selecionar o nome do cliente na lista , dentro do listbox deverá aparecer todo o histórico deste cliente ou seja, mais de uma linha aparecerá se houver mais de um atendimento direcionado a ele.

    Poderia me ajudar?

    =) obrigada!

    sexta-feira, 22 de março de 2019 16:07

Todas as Respostas

  • Olá Boa tarde!

    Sou novata no VBA e estou produzindo um formulário de atendimento que deve funcionar quando  eu selecionar o nome do cliente na lista , dentro do listbox deverá aparecer todo o histórico deste cliente ou seja, mais de uma linha aparecerá se houver mais de um atendimento direcionado a ele.

    Poderia me ajudar?

    =) obrigada!

    Boa tarde.

    Você está usando qual aplicação? Access ou Exce?

    Att.

    sexta-feira, 22 de março de 2019 17:19
  • Olá Ewerton,

    Estou utlizando o excel.

    segunda-feira, 25 de março de 2019 14:33
  • Boa tarde Karina.

    Não sei qual a estrutura da sua planilha, mas vou te passar abaixo uma possível solução, aí você adapta da melhor forma para você.

    Supondo que uma planilha denominada Planilha1, tenha os seguintes cabeçalhos: Cliente em A1, Data em B1 e Tipo em C1, adapte o código abaixo:

    Private Sub ComboBox1_Change()
    'Define uma variável para ler as linhas da planilha e uma para ler a linha do listbox
    Dim linha As Integer, linhaCombo As Integer
    linha = 2 'Definido 2, pois não conta a linha de cabeçalho
    linhaLista = 1 'Definido 1 pois a linha de cabeçalho no caso do listbox é 0
    ListBox1.Clear 'Limpa o conteúdo do listbox toda vez que alterar o cliente selecionado
    
    'Adiciona os cabeçalhos do Listbox - Esse parametro você pode colocar também na inicialização do formulário
    With ListBox1
        .ColumnCount = 3
        .ColumnWidths = "60;50;40"
        .AddItem
        .List(0, 0) = "Cliente"
        .List(0, 1) = "Data"
        .List(0, 2) = "Tipo"
    End With
    
    'Loop que varre a planilha 1 para encontrar os dados do cliente
    Do Until Sheets(1).Cells(linha, 1) = ""
        If Sheets(1).Cells(linha, 1) = Me.ComboBox1.Text Then
            With ListBox1
                .AddItem
                .List(linhaLista, 0) = Sheets(1).Cells(linha, 1)
                .List(linhaLista, 1) = Sheets(1).Cells(linha, 2)
                .List(linhaLista, 2) = Sheets(1).Cells(linha, 3)
            End With
        linhaLista = linhaLista + 1
        End If
    linha = linha + 1
    Loop
    End Sub

    terça-feira, 26 de março de 2019 16:52
  • Olá Ewerton,

    Tenho cliente e histórico de atendimento.

    Não consegui adaptar.

    Agradeço pela ajuda. =_)

    quarta-feira, 27 de março de 2019 14:41