Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Unterschiedliche Einträge herausfiltern+auflisten

Unterschiedliche Einträge herausfiltern+auflisten
14.07.2008 09:15:13
Tommi
Liebe Excel-Gemeinde,
ich habe eine Tabelle mit einer Spalte A, in der in jeder Zelle verschiedene Einträge mit Komma getrennt stehen (z.B. A1: Hund, Katze, Maus; A2: Kuh, Vogel, Hamster; etc.). Kann man diese Spalte auslesen, sodass an anderer Stelle sämtliche unterschiedlichen Einträge, obwohl sie mehrfach und an verschiedenen Positionen innerhalb der Ausgangszellen vorkommen, in einer Liste untereinander stehen (jeder Eintrag eine Zelle; z.B. B1: Hund, B2: Katze, B3: Maus, B4: Hamster, B5: Vogel)? Ich habe bereits versucht, durch verschiedene Themen im Forum das Problem auf einem Umweg zu lösen (z.B. über Text in Spalten), bin aber leider der Lösung nicht näher gekommen.
Herzlichen Dank für Eure Hilfe und schöne Grüße
Tommi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Auflistung
14.07.2008 09:45:00
Backowe
Hallo Tommi,
so funktioniert es.
VBA-Code:
Sub Auflistung()
Dim Zelle As Range
Dim i As Long, j As Long
Dim Ergebnis As Variant
i = 1
For Each Zelle In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  Ergebnis = Split(Zelle, ",")
  For j = 0 To UBound(Ergebnis)
    Cells(i, 2) = Trim(Ergebnis(j))
    i = i + 1
  Next
Next
End Sub

Anzeige
AW: Unterschiedliche Einträge herausfiltern+auflisten
14.07.2008 10:01:00
UweD
Hallo Tommi
diess Makro dürfte dein Problem lösen..


Option Explicit
Sub HundKatzeMaus()
    On Error GoTo Fehler
    Dim SP%, ZE&, LR1&, LR2&, TB1, TB2, i&, j%, A
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    SP = 1 'Spalte A
    ZE = 1 'Zeile 1
    LR1 = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    Application.ScreenUpdating = False
    For i = ZE To LR1
        A = Split(TB1.Cells(i, SP), ", ")
        For j = 0 To UBound(A)
            If WorksheetFunction.CountIf(TB2.Columns(SP), A(j)) = 0 Then 'noch nicht enthalten
                LR2 = TB2.Cells(Rows.Count, SP).End(xlUp).Row + 1
                TB2.Cells(LR2, SP) = A(j)
            End If
        Next j
    Next i
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


Gruß UweD

Anzeige
Funktioniert wunderbar
14.07.2008 11:03:00
Tommi
Hallo Uwe und Backowe,
herzlichen Dank für Eure Makros. Ich habe sie auf Buttons gelegt und weidlich ausprobiert. Bei Deinem Makro, lieber Backowe, werden alle Einträge ausgelesen, erscheinen aber mehrfach in der Liste. Das habe ich jedoch sicherlich unzulänglich beschrieben. Bei Deinem Makro, lieber Uwe, werden die Einträge ausgelesen und erscheinen auch nicht mehrfach. Das ist wirklich super.
Herzlichen Dank noch einmal für Eure Hilfe.
Tommi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige