MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Somar ocorrências em strings e exibir resultado em listbox.

    Compartilhe

    DARTH
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 07/12/2013

    [Resolvido]Somar ocorrências em strings e exibir resultado em listbox.

    Mensagem  DARTH em Sab 07 Dez 2013, 18:32

    Bom dia, amigos.

    Estou com um problema que não consigo resolver.

    Tenho um UserForm a interagir com uma folha de excell, na qual tenho na coluna "F", vários códigos inseridos sob a forma de strings.

    o aspeto do conteúdo das células, é o seguinte:

    F3   -  .T12-X02-R10

    F5   -  .U02

    F10 -  .T01-X02-U02

    Os dados só serão processados se a célula com o mesmo número mas na coluna "G", contiver determinado valor, por exemplo "CA" e se a checkbox6 estiver selecionada.

    Os valores obtidos deverão ser exibidos numa listbox com três colunas incluída numa página de Multipage.

    -----O PROBLEMA:

    Preciso de uma rotina que ao clicar no separador que contem a listbox, essa listbox me apresente na primeira coluna o conteúdo da célula da coluna "G", na segunda coluna os códigos mostrados em cima, mas sem repetição e na terceira coluna a quantidades de vezes que cada código se repete.

    Isto é, preciso que a listbox, me exiba os códigos acima exemplificados da seguinte forma:

    CA                                  T12                      1

    CA                              X02                      2

    CA                              R10                      1

    CA                              U02                      2

    CA                              T01                      1

    Código:

    Dim colunaF As String
    Dim Compar As String
    Dim LastLineF As Long
    Dim ESTj, contaMOT, ESTi As Integer

    LastLineF = Sheets("DADOS").Cells(Cells.Rows.Count, 6).End(xlUp).Row

     If CheckBox6.Value = True Then
        For ESTi = 2 To LastLineF
            colunaF = Range("F" & ESTi).Value
            For ESTj = 2 To Len(colunaF) Step 4
            Compar = Mid(colunaF, ESTj, 3)
      
           If Range("G" & ESTi).Value = CheckBox6.Caption Then
                If Mid(colunaF, ESTj, 3) = Compar Then
                contaMOT = contaMOT + 1
                
                ListBox3.AddItem Sheets("DADOS").Range("G" & ESTi)
                ListBox3.List(ListBox3.ListCount - 1, 1) = UCase(Compar)
                ListBox3.List(ListBox3.ListCount - 1, 2) = contaMOT
                End If
                
            End If
            Next

        Next
     End If
    Tenho tentado com este código, mas não me agrupa os códigos nem soma as quantidades. Os meus conhecimentos também são quase nulos.

    Desnecessário se torna dizer, que a quantidade de códigos constantes na folha é enorme. Se for possível ordená-los por ordem de grandeza isso era "Ouro sobra Azul".

    Antecipo desde já os mais sinceros agradecimentos.

    Cumprimentos

    DARTH

      Data/hora atual: Sab 03 Dez 2016, 19:41