Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: AriGoldsta am September 25, 2012, 09:47:26 Vormittag
-
Guten Morgen,
Folgendes Problem: Ich habe eine Exceltabelle, mit 2 Spalten. In der ersten Spalte steht in jeder Spalte eine Zahl (Nummer einer Kategorie), in der 2. steht der NAme des Unternehmens. Wenn ein Unternehmen nun mehreren Kategorien angehört, so steht es mehrmals hintereinander, da immer nur 1 Kategorie pro Zeile angegeben ist. 5 Kategorien, 5 Zeilen mit verschiedenen Zahlen, aber Jedes mal das gleiche Unternehmen.
Ich würde es gerne so formatieren, dass jedes Unternehmen nur 1 mal da Steht und alle Zahlen in der gleichen Zeile aufgezählt werden. So dass jedes nternehmen nur noch 1 Zeile erhält.
Habe zur zeit etwa 700 Unternehmen und 3000 Zeilen.
Also eine Funktion die sagt, wenn name Spalte2 gleich, dann Zahlen aus Spalte 1 aufzählen (vll sortiert, damit identisch).
Und super wäre dann doppelte Einträge noch löschen, sodass ich Pro Unternehemen eine Zeile habe mit Spalte1 alle Kategorien aufgezählt (durch kommata getrennt) und in Spalte2 wie gahabt der Name. Dann müsste ich auch nciht von Hand löschen.
Hoffe es ist einigermaßen verständlich
Danke euch schonmal im Voraus
-
Hi,
versuche es mal mit folgendem Code (Achtung, vorher Kope der Originaldaten anlegen!!):
Sub Zusammenfassen()
Dim lngZeile As Long
Dim lngStart As Long
Application.DisplayAlerts = False
For lngZeile = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) To 2 Step -1
lngStart = lngZeile
If Application.CountIf(Columns(2), Cells(lngZeile, 2)) > 1 Then
Do
Cells(lngStart - 1, 1) = Cells(lngStart - 1, 1) & ", " & Cells(lngStart, 1)
Rows(lngStart).Delete
lngStart = lngStart - 1
If lngStart = 1 Then Exit Do
If Cells(lngStart - 1, 2) <> Cells(lngStart, 2) Then Exit Do
Loop
lngZeile = lngStart
End If
Next lngZeile
Application.DisplayAlerts = False
End Sub
Bis später,
Karin
-
VIELE DANK!!!!! funktioniert wunderbar!!!!!!
-
Hi AriGoldsta,
Obwohl bereits gelöst hat mich Dein Problem nicht losgelassen. Die Lösung von Beverly ist natürlich sehr elegant, aber ich dachte mir es muss auch ohne VBA gehen.
Habe darüber auf meinem Blog ein spezifischen http://excelnova.org/2012/10/wie-man-daten-mit-text-verdichtet/ (http://excelnova.org/2012/10/wie-man-daten-mit-text-verdichtet/) dazu geschrieben.
Gruss,
ExcelNova.org