Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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

Infos aus mehreren Zeilen in eine zusammenfassen

Infos aus mehreren Zeilen in eine zusammenfassen
01.02.2017 12:09:12
Marv

Hallo Zusammen,
ich habe im Tab "Tabelle 2" eine Liste mit IDs (Spalte A) die mehrmals vorkommen können. In den Spalten B und C sind verschiedene Status hinterlegt.
Im Tab "Tabelle 1" soll jetzt je ID alle Status Informationen in eine Zeile.
Beispielsweise kommt die ID 111 drei mal in "Tabelle 2" vor.
Heißt sie hat in Spalte B drei Status hinterlegt und in Spalte C auch.
Diese 6 Status sollen jetzt in Tab "Tabelle 1" übertragen werden.
Wie die Übertragung erfolgen soll, habe ich für die ID händisch eingetragen (gelber Bereich).
Maximal kann eine ID vier mal vorkommen. Daher sollen die Status aus Spalte B (Tabelle 2) im den Spalten B bis E (Tabelle 1) hinterlegt werden.
Da die Liste generell ziemlich groß ist, wäre ein Makro klasse. Stehe da leider etwas auf dem Schlauch, wie ich das umsetzten könnte.
Ich hoffe auf eure Hilfe.
https://www.herber.de/bbs/user/111056.xlsx
Vielen Dank im Voraus.
Grüße
Marv

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
01.02.2017 13:01:51
ChrisL
Hi Marv
Sub t()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, lZeile As Long
Dim lAnzahl As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Application.ScreenUpdating = False
WS1.Rows("2:65536").Delete
For iZeile = 2 To WS2.Cells(Rows.Count, 1).End(xlUp).Row
lAnzahl = WorksheetFunction.CountIf(WS2.Range("A1:A" & iZeile), WS2.Cells(iZeile, 1))
If lAnzahl = 1 Then
lZeile = WS1.Cells(Rows.Count, 1).End(xlUp).Row + 1
WS1.Cells(lZeile, 1) = WS2.Cells(iZeile, 1)
WS1.Cells(lZeile, 2) = WS2.Cells(iZeile, 2)
WS1.Cells(lZeile, 6) = WS2.Cells(iZeile, 3)
Else
lZeile = Application.Match(WS2.Cells(iZeile, 1), WS1.Columns(1), 0)
WS1.Cells(lZeile, lAnzahl + 1) = WS2.Cells(iZeile, 2)
WS1.Cells(lZeile, lAnzahl + 5) = WS2.Cells(iZeile, 3)
End If
Next iZeile
End Sub

cu
Chris
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
03.02.2017 15:10:36
Marv
Hi Chris,
super vielen Dank für deine Hilfe!! Funktioniert einwandfrei.
Jetzt haben sich aber noch ein paar Spalten verschoben in meinem Excel verschoben.
Wie müsste ich denn den Code anpassen, dass es mit den neuen Spalten funktioniert? Fummel da seit ner Stunde dran rum, bekomme es aber nicht wirklich hin.
Hab dein Makro mal in die geänderte Testdatei gepackt.
https://www.herber.de/bbs/user/111153.xlsm
Änderungen:
1. In Tabelle1 steht die ID jetzt nicht mehr in Spalte A sondern in Spalte B. Die auszufüllenden Status verschieben sich in die Spalten D bis K (vorher B bis I)
2. In Tabelle2 stehen die Status jetzt in Spalte F und G statt wie zuvor in B und C
Vielen Dank nochmal für deine Hilfe & ein schönes Wochenende
Grüße
Marv
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
03.02.2017 16:25:41
ChrisL
hi Marv
Sub t()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, lZeile As Long
Dim lAnzahl As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Application.ScreenUpdating = False
WS1.Rows("2:65536").Delete
For iZeile = 2 To WS2.Cells(Rows.Count, 1).End(xlUp).Row
lAnzahl = WorksheetFunction.CountIf(WS2.Range("A1:A" & iZeile), WS2.Cells(iZeile, 1))
If lAnzahl = 1 Then
lZeile = WS1.Cells(Rows.Count, 2).End(xlUp).Row + 1
WS1.Cells(lZeile, 2) = WS2.Cells(iZeile, 1)
WS1.Cells(lZeile, 4) = WS2.Cells(iZeile, 6)
WS1.Cells(lZeile, 8) = WS2.Cells(iZeile, 7)
Else
lZeile = Application.Match(WS2.Cells(iZeile, 1), WS1.Columns(2), 0)
WS1.Cells(lZeile, lAnzahl + 3) = WS2.Cells(iZeile, 6)
WS1.Cells(lZeile, lAnzahl + 7) = WS2.Cells(iZeile, 7)
End If
Next iZeile
End Sub

cu
Chris
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
03.02.2017 19:12:17
Marv
Bist der Beste!
Danke Chris.
Schönes Wochenende
AW: Infos aus mehreren Zeilen in eine zusammenfassen
03.02.2017 19:25:31
Marv
Okay, hab's gerade mal in meiner richtigen Datei ausprobiert.
Leider funktioniert es nicht richtig. Das Makro läuft mehrere Minuten, sodass ich es abbrechen muss.
Es bleibt in der Zeile
WS1.Cells(lZeile, 2) = WS2.Cells(iZeile, 1)
hängen.
Außerdem werden die Spalten L-O auch befüllt.
Hast du eine Ahnung woran das liegen könnte?
Danke dir.
AW: Infos aus mehreren Zeilen in eine zusammenfassen
04.02.2017 11:49:38
ChrisL
Hi Marv
Ferndiagnosen sind immer schwierig. Vielleicht mal die automatische Berechnung abschalten:
Application.Calculation = xlCalculationManual
'Dazwischen der bestehende Code
Application.Calculation = xlCalculationAutomatic
Kann es sein, dass du mehr als 4 gleiche ID's auf der Liste hast?
cu
Chris
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
06.02.2017 10:29:47
Marv
HI Chris,
danke dir für die schnelle Antwort.
Ich habe tatsächlich in meinen neuen Daten wesentlich häufiger dieselbe ID als gedacht.
Bis jetzt war ich von max. 4x ausgegangen. Allerdings habe ich in den aktuellen Daten bis zu 20 Einträge.
Folglich hätte ich den Status BEA 1 - BEA 20 in den Spalten von D bis W und den Status ABA 1 - ABA 20 in den Spalten X-AQ stehen.
Dies hat bestimmt Auswirkungen auf den Code...? Wie müsste dieser erweitert werden?
Bist eine große Hilfe!! Sorry, dass ich nicht gleich überprüft habe, wie oft eine ID maximal vorkommt.
Vielen Dank nochmal
Grüße
Marv
Anzeige
AW: Infos aus mehreren Zeilen in eine zusammenfassen
06.02.2017 17:04:44
Marv
Hi Chris,
habe es selbst hinbekommen :-)
Super vielen Dank nochmal für deine Hilfe!
Grüße
Marv
AW: Infos aus mehreren Zeilen in eine zusammenfassen
03.02.2017 15:27:51
Marv
Hi Chris,
super vielen Dank für deine Hilfe!! Funktioniert einwandfrei.
Jetzt haben sich aber noch ein paar Spalten verschoben in meinem Excel verschoben.
Wie müsste ich denn den Code anpassen, dass es mit den neuen Spalten funktioniert? Fummel da seit ner Stunde dran rum, bekomme es aber nicht wirklich hin.
Hab dein Makro mal in die geänderte Testdatei gepackt.
https://www.herber.de/bbs/user/111153.xlsm
Änderungen:
1. In Tabelle1 steht die ID jetzt nicht mehr in Spalte A sondern in Spalte B. Die auszufüllenden Status verschieben sich in die Spalten D bis K (vorher B bis I)
2. In Tabelle2 stehen die Status jetzt in Spalte F und G statt wie zuvor in B und C
Vielen Dank nochmal für deine Hilfe & ein schönes Wochenende
Grüße
Marv

Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige