Office: Doppelte Wörter zählen bzw. ausblenden mit VBA

Helfe beim Thema Doppelte Wörter zählen bzw. ausblenden mit VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich habe eine Liste mit sich häufig wiederholenden Wörtern. Ich möchte diese Liste durchgehen und je eine Wort der doppelten Einträge in eine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von nsamaster, 25. August 2008.

  1. nsamaster Neuer User

    Doppelte Wörter zählen bzw. ausblenden mit VBA


    Hallo!

    Ich habe eine Liste mit sich häufig wiederholenden Wörtern. Ich möchte diese Liste durchgehen und je eine Wort der doppelten Einträge in eine neue Tabelle schreiben. Dabei möchte ich in einer anderen Spalte die Anzahl des "Vorkommens" berechnen, nur wie?

    Mit meinem Code filtere ich zwar die liste, allerdings habe ich keine Idee wie ich die Anzahl herausbekommen soll. Dabei muss ich beachten, das ich das Ende der Liste nicht kenne, also erweitert werden kann.

    Hier mein momentaner Code:
    Code:
    Sub ZaehleNeueMeldungen()
      Dim i, j, c, d As Integer
      Dim Zone, Zeit, Neu, NZeit, NeuMeldung As String
      Dim StrEq As Integer
        
      i = 2
      j = 5
      c = 5
      
      Do
        Zone = Worksheets(1).Cells(i, 7).Value
        Zeit = Worksheets(1).Cells(i, 1).Value
        Neu = Worksheets(3).Cells(j, 3).Value
        NeuMeldung = Worksheets(1).Cells(i, 8).Value
        If Worksheets(1).Cells(i, 8).Value = "Neue Meldung" Then
          Do
            If Worksheets(3).Cells(c, 3).Value <> Zone Then
              Worksheets(3).Cells(c, 3).Value = Zone
            End If
            c = c + 1
          Loop Until Len(Worksheets(3).Cells(c, 3).Value) = 0
          'Worksheets(3).Cells(j, 4).Value = Zeit
        End If
        i = i + 1
      Loop Until Len(Zone) = 0
    End Sub
    Um vielleicht die Frage zu verdeutlichen, hier ein Beispiel:

    Code:
    eintrag1    
    eintrag2    
    eintrag1    
    eintrag3    
    eintrag1    
    eintrag2    
    eintrag4    
    
    soll zu diesem Ergebnis werden:

    Code:
    eintrag 1     |   3x
    eintrag 2     |   2x
    eintrag 3     |   1x
    eintrag 4     |   1x
    
     
    nsamaster, 25. August 2008
    #1
  2. miriki Erfahrener User
    Das läuft im Prinzip ganz einfach und ist nur eine Nachbildung dessen, was man "von Hand" auch machen würde:
    a) nehme jeden Eintrag aus Liste 1
    b) vergleiche diesen mit jedem Eintrag aus Liste 2
    c) "gefunden" --> Zähler erhöhen
    d) "nicht gefunden" --> Eintrag anhängen an Liste 2, Zähler auf 1
    Code:
    Private Sub CommandButton1_Click()
    
        Dim s1, s2 As Worksheet
        Dim y1, x1 As Long: Dim tst1 As String
        Dim y2, x2 As Long: Dim tst2 As String
    
        Set s1 = ActiveSheet
        Set s2 = ActiveSheet
    
        s2.Columns("c:d").ClearContents
    
        y1 = 1: x1 = 1
        s1.Activate: s1.Cells(y1, x1).Activate
        tst1 = Trim$(s1.Cells(y1, x1).Value)
        While (tst1 <> "")
    
            y2 = 1: x2 = 3
            's2.Activate: s2.Cells(y2, x2).Activate
            tst2 = Trim$(s2.Cells(y2, x2).Value)
            While (tst2 <> "")
    
                If (tst2 = tst1) Then
                    s2.Cells(y2, 4).Value = s2.Cells(y2, 4).Value + 1
                    y2 = 65535
                End If
    
                y2 = y2 + 1: x2 = 3
                's2.Activate: s2.Cells(y2, x2).Activate
                tst2 = Trim$(s2.Cells(y2, x2).Value)
            Wend
    
            If (y2 < 65535) Then
                s2.Cells(y2, 3).Value = tst1
                s2.Cells(y2, 4).Value = 1
            End If
    
            y1 = y1 + 1: x1 = 1
            s1.Activate: s1.Cells(y1, x1).Activate
            tst1 = Trim$(s1.Cells(y1, x1).Value)
        Wend
    
    End Sub
    Die Variablen, die mit "1" enden, gehören zu Punkt a), die mit "2" am Ende gehören zu b) Das "if" in der Mitte wird bei "gefunden" ausgeführt, das "if" am Ende wird bei "nicht gefunden" ausgeführt.

    Gruß, Michael
     
  3. schatzi Super-Moderator
    Hallo!

    Das geht auch gänzlich ohne VBA!
    Mit einer Pivot-Tabelle bist du mit ein paar Mausklicks am Ziel:
    Markiere die Daten (Überschrift muss vorhanden sein!).
    Wähle Menü Daten > Pivot-Table und folge dem Assistenten.
    Ziehe zum Schluss dein Daten-Feld einmal in den Zeilenbereich und einmal in den Datenbereich.
    Fertig!
     
    Zuletzt von einem Moderator bearbeitet: 9. Dezember 2020
    schatzi, 25. August 2008
    #3
Thema:

Doppelte Wörter zählen bzw. ausblenden mit VBA

Die Seite wird geladen...
  1. Doppelte Wörter zählen bzw. ausblenden mit VBA - Similar Threads - Doppelte Wörter zählen

  2. Doppelte Werte pro Tag, an anderen nicht

    in Microsoft Excel Hilfe
    Doppelte Werte pro Tag, an anderen nicht: Hallo zusammen Ich stehe vor folgender Herausforderung - nach zig Versuchen stehe ich wieder am Anfang und bitte um Hilfe. Eine Gebäude ist mit einem Scansystem ausgestattet und jeder mit...
  3. Doppelte Werte mit 2 Bedingungen finden

    in Microsoft Excel Hilfe
    Doppelte Werte mit 2 Bedingungen finden: Hi zusammen, ich beiße mir gerade die Zähne an einer wahrscheinlich einfachen Lösung aus. Ich habe 2 Tabellen mit Kundendaten. Beide Tabellen sind identisch aufgebaut. In Spalte A stehen in...
  4. Dateneingabe via Formular: Duplikate auf die gleiche ID schreiben

    in Microsoft Access Hilfe
    Dateneingabe via Formular: Duplikate auf die gleiche ID schreiben: Hey Ihr Lieben, vielleicht erklärt sich mein Problem schon durch die Überschrift *:)* Ich habe eine Formular gebastelt in denen ich verschiedene Diagnosen pro Patienten eingeben kann. Ein...
  5. wie doppelte Wörter finden

    in Microsoft Word Hilfe
    wie doppelte Wörter finden: Hallo Forum, hat jemand eine Ahnung, wie ich in einem Word-Dokument doppelt vorkommende Wörter finden lassen kann. Ich habe in einem Word-Dokument häufig eine Aneinanderreihung von Stichwörtern,...
  6. Nach doppelten Wörten im Datensatzfeld suchen und eines davon löschen

    in Microsoft Access Hilfe
    Nach doppelten Wörten im Datensatzfeld suchen und eines davon löschen: Hallo, wie die Überschrift schon sagt möchte ich nach doppelten Wörtern im Datensatzfeld suchen und dann die doppelten bis auf eines löschen. Beispiel: Test | Heute mittag heute | Dienstag...
  7. Doppelte Worte zusammenzählen

    in Microsoft Excel Hilfe
    Doppelte Worte zusammenzählen: #closed Hallo, Ich habe jetzt schon einige Zeit im Internet nach meinem Problem gesucht aber noch keine Antwort gefunden. Ich muss dazu hinzufügen, dass ich nicht gerade die besten Excel...
  8. Doppelte Wörter

    in Microsoft Excel Hilfe
    Doppelte Wörter: Hallo! Wissen Sie ob es möglich ist innerhalb eines Excel-Sheets alle doppelt vorkommenden Wörter bzw. Silben farbig hervorzuheben?? Achtung: Ich meine nicht einen Vergleich der Zellen sonder...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden