Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen vergleichen und Zellen zusammenfassen

Zeilen vergleichen und Zellen zusammenfassen
10.10.2019 21:34:42
YellOh77
Hallo zusammen,
bevor ich zu meinem Problem komme, folgende Infos zu meinen
Kenntnissen:
EXCEL - IMHO sehr gut (ellenlange Formeln schrecken mich nicht ab)
ACCESS - befriedigend bis gut (einfache DB)
VBA - NEULING (okay, ich hab schon mal "was" ausprobiert
SQL - davon hab ich schon mal gehört / erschließt sich mir nicht...
Nun zum eigentlichen Problem, bei dessen Lösung ich auf die Schwarmintelligenz setze:
Ich habe eine Tabelle mit einer beliebigen/wechselnden Anzahl "n" von Zeilen,
deren Daten (weitestgehend) atomisiert vorliegen. Name, Vorname, Straße, PLZ, Ort sind also getrennt.
In Spalte 5 liegt jeweils ein Attribut dazu. Jetzt möchte ich eigentlich "de-atomisieren".
Da die Zeilen aus unterschiedlichen Mutter-Tabellen stammen, habe ich diese bereits sortiert,
so dass gleiche Kombinationen aus Name&Vorname bereits untereinander stehen.
Jetzt möchte ich mittels VBA die Attribute derjenigen Zeilen,
bei denen Name&Vorname gleich sind in einer Zeile zusammenzufügen.
Der Zellinhalt aus Spalte 5 soll also an den Zellinhalt der vorangegangen Zeile angefügt werden,
wenn Name&Vorname jeweils gleich sind.
Im Anschluß soll die "nicht mehr benötigte" Folgezeile gelöscht werden und mit der Prüfung fortgefahren werden.
Dann natürlich wieder mit der letzten benutzen, jetzt mit zwei Attributen versehenen Zeile und der nächsten, neuen Folgezeile...
bis zur letzten benutzte Zeile ("LastRow" kenn ich).
Sofern gewünscht liefere ich entsprechende Shots der Datei und
"ja" ich habe die Forensuche genutzt, war aber wahrscheinlich zu blöd, die richtigen Suchbegriffe einzugeben.
Für das Lesen bis zum Ende und Eure Bemühungen danke ich Euch bereits jetzt...

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen vergleichen und Zellen zusammenfassen
10.10.2019 21:39:08
Regina
Hi,
lade doch bitte mal eien Beispieldatei mit ein paar(anonymisierten) Daten hoch. Bitte kein Screenshot,Tabellen nachzubauen steht meistens nicht ganz oben auf der Prio-Liste. Es reichen zwei Beispielsätze und der Soll-Zustand.
Was ich noch nicht verstehe: Wenn Du eine Eindeutigkeit über Name und Vorname herstellen willst: Was machst Du mit Personen die den gleichen Vor- und Nachnamen in Kombination haben?
Gruß
Regina
AW: Zeilen vergleichen und Zellen zusammenfassen
10.10.2019 22:12:02
YellOh77
Hallo Regina,
danke für die schnelle Rückmeldung und ebenfalls "danke" für den Hinweis auf
die Doppel-Namen-Problematik, die wir zwar aktuell noch nicht haben, aber wer weiß?
Hier kann natürlich gerne noch die Straßen-Spalte hinzugezogen werden, dann sollte es aber für meine Vereinszwecke reichen, denke ich zumindest...
Ist-Datei: https://www.herber.de/bbs/user/132474.xlsm
Soll-Datei: https://www.herber.de/bbs/user/132473.xlsm
VG
Marc
Anzeige
AW: Zeilen vergleichen und Zellen zusammenfassen
11.10.2019 07:48:59
Regina
Hi, teste mal diesen Code; ich habe da Deine Sortierung mit reingepackt.
Public Sub Zusammenfassen()
Dim lng_zeile As Long
Dim lng_letzte_zeile As Long
Dim str_merk_name As String
Dim str_merk_vorname As String
With Worksheets("Tabelle1")
lng_letzte_zeile = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A1:C" & lng_letzte_zeile).Sort Key1:=Range("A2"), Key2:=Range("B2"), Key3:=("C2"),  _
Header:=xlYes 'Header:=xlYes --> Kopfzeile nicht sotieren
lng_zeile = 2
str_merk_name = .Cells(lng_zeile, 1)
str_merk_vorname = .Cells(lng_letzte_zeile, 2)
lng_zeile = 3
Do Until lng_zeile > lng_letzte_zeile
If str_merk_name = .Cells(lng_zeile, 1) And str_merk_vorname = .Cells(lng_zeile, 2)  _
Then ' Namensgeleichheit
If .Cells(lng_zeile - 1, 6) = "" Then
.Cells(lng_zeile - 1, 6) = .Cells(lng_zeile, 6)
Else
.Cells(lng_zeile - 1, 6) = .Cells(lng_zeile - 1, 6) & ", " & .Cells(lng_zeile,  _
6)
End If
.Rows(lng_zeile).Delete
lng_letzte_zeile = lng_letzte_zeile - 1
lng_zeile = lng_zeile - 1
End If
str_merk_name = .Cells(lng_zeile, 1)
str_merk_vorname = .Cells(lng_zeile, 2)
lng_zeile = lng_zeile + 1
Loop
End With
End Sub
Kann es sein, dass deine Soll-datei nicht gnaz stimmt? Müller Felix taucht da noch doppelt auf, der müsste doch auch zusammengefasst werden, oder gibt es da eine Besonderheit?
Gruß
Regina
Anzeige
AW: Zeilen vergleichen und Zellen zusammenfassen
11.10.2019 09:33:43
Daniel
HI
geht ganz einfach von Hand mit diesen Schritten:
1. Liste nach Name, Vorname, PLZ und Straße sortieren, also so, dass gleiche Personen direkt untereinander stehen
2. in Spalte G die Formel G2: =F2&Wenn(A2&B2&D2&C2=A3&B3&D3&C3;", "&G3;"")
3. Spalte G kopieren und als Wert einfügen
4. mit A:G die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN ausführen
5. Spalte F löschen
wenn es eine VBA-Lösung sein sollte, dann würde ich einfach diese Schritte von VBA ausführen lassen.
Gruß Daniel
AW: Zeilen vergleichen und Zellen zusammenfassen
11.10.2019 20:31:10
YellOh77
Hallo Regina,
hallo Daniel,
danke, der Code macht genau das, was er soll und wonach ich gesucht habe. Da ändert auch der Fehler in der Soll-Datei nichts dran. Vielen Dank!
Natürlich habe ich auch drüber nachgedacht, die einzelnen Schritte aufzuzeichnen, aber so ist doch viel netter. Trotzdem danke für den Hinweis
Gruß
Marc
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige