MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


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

    DARTH
    DARTH
    Novato
    Novato


    Respeito às regras : 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. Empty [Resolvido]Somar ocorrências em strings e exibir resultado em listbox.

    Mensagem  DARTH 7/12/2013, 13: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: 28/3/2024, 13:35