MS Excel - Zeilen zusammenfassen, wie?
Hallo zusammen, da ich hier schon sehr viele Infos und auch Hilfe erhalten habe versuche ich es mal wieder:
Also hier eine kurze Schilderung meines Problemes:
In MS-Excel eine Tabelle in dieser Form:
A B C D
1 Name X Y Z
2 Hein Blöd x
3 Hein Blöd x
4 Hein Blöd x
.
.
.
Meine Zielverstellung in Excel:
A B C D
1 Name X Y Z
2 Hein Blöd x x x
.
.
.
Hat jemand eine Idee????
Hier noch ein Bild von der Tabelle, da wird das Problem so glaube ich etwas deutlicher!
Schon mal vielen Dank und viele Grüße
Also hier eine kurze Schilderung meines Problemes:
In MS-Excel eine Tabelle in dieser Form:
A B C D
1 Name X Y Z
2 Hein Blöd x
3 Hein Blöd x
4 Hein Blöd x
.
.
.
Meine Zielverstellung in Excel:
A B C D
1 Name X Y Z
2 Hein Blöd x x x
.
.
.
Hat jemand eine Idee????
Hier noch ein Bild von der Tabelle, da wird das Problem so glaube ich etwas deutlicher!
Schon mal vielen Dank und viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151169
Url: https://administrator.de/contentid/151169
Ausgedruckt am: 05.11.2024 um 14:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo Daniel-Ratlos!
Quellcode in ein Modul einfügen und über <Extras><Makro><Makros><Zusammenfassung> starten und/oder per Optionen mit einer Tasenkombination verknüpfen:
Die Konstanten (Const) entsprechend anpassen.
Du brauchst 2 Tabellen. Eine Tabelle mit Deinen Quelldaten und eine 2. Tabelle für die Zieldaten
In der Ziel-Tabelle musst Du einmalig die Überschriftzeile beschriften, formatieren...
Ablauf:
Beim starten des Makros, wird in der Ziel-Tabelle die Überschriftzeile gesichert, der Tabellen-Inhalt gelöscht und die Überschriftzeile wieder eingefügt. Im Anschluss wird in der Quell-Tabelle die Spalte A Zeile für Zeile durchlaufen und in der Ziel-Tabelle geprüft, ob der Name schon eingetragen ist. Wenn der Name noch nicht existiert, dann werden die Quell-Spalten A:B nach Ziel-Spalte A:B kopiert. Wenn der Name bereits existiert, wird der Wert ab Quell-Spalte C mit Inhalt nach Ziel-Spalte kopiert. Die Spalten ab C sind beliebig erweiterbar.
Gruß Dieter
[edit] Code geändert [/edit]
Quellcode in ein Modul einfügen und über <Extras><Makro><Makros><Zusammenfassung> starten und/oder per Optionen mit einer Tasenkombination verknüpfen:
Option Explicit
Option Compare Text
Const Quelle = "Tabelle1" 'Tabelle Quelldaten
Const Ziel = "Tabelle2" 'Tabelle Zieldaten
Const StartZeile = 2 'Erste Zeile mit Daten
Sub Zusammenfassen()
Dim WksQ As Worksheet, Found As Object, Felder As Variant, i As Long
Dim Spalte As Long, Zeile As Long, CopySpalte As Long, CopyZeile As Long
Set WksQ = Sheets(Quelle)
Application.ScreenUpdating = False
With Sheets(Ziel)
Felder = .Rows(1).Value
.Cells.ClearContents
.Rows(1).Value = Felder
Zeile = StartZeile
For i = StartZeile To WksQ.Cells(WksQ.Rows.Count, "A").End(xlUp).Row
If Not IsEmpty(WksQ.Cells(i, "A")) Then
Set Found = .Columns("A").Find(WksQ.Cells(i, "A"), LookIn:=xlValues, LookAt:=xlWhole)
If Found Is Nothing Then
Range(WksQ.Cells(i, "A"), WksQ.Cells(i, "B")).Copy .Cells(Zeile, "A")
CopyZeile = Zeile: Zeile = Zeile + 1
Else
CopyZeile = Found.Row
End If
CopySpalte = WksQ.Cells(i, WksQ.Columns.Count).End(xlToLeft).Column
WksQ.Cells(i, CopySpalte).Copy .Cells(CopyZeile, CopySpalte)
End If
Next
End With
Application.ScreenUpdating = True
MsgBox "Fertig!", vbInformation, "Meldung"
End Sub
Du brauchst 2 Tabellen. Eine Tabelle mit Deinen Quelldaten und eine 2. Tabelle für die Zieldaten
In der Ziel-Tabelle musst Du einmalig die Überschriftzeile beschriften, formatieren...
Ablauf:
Beim starten des Makros, wird in der Ziel-Tabelle die Überschriftzeile gesichert, der Tabellen-Inhalt gelöscht und die Überschriftzeile wieder eingefügt. Im Anschluss wird in der Quell-Tabelle die Spalte A Zeile für Zeile durchlaufen und in der Ziel-Tabelle geprüft, ob der Name schon eingetragen ist. Wenn der Name noch nicht existiert, dann werden die Quell-Spalten A:B nach Ziel-Spalte A:B kopiert. Wenn der Name bereits existiert, wird der Wert ab Quell-Spalte C mit Inhalt nach Ziel-Spalte kopiert. Die Spalten ab C sind beliebig erweiterbar.
Gruß Dieter
[edit] Code geändert [/edit]
Hallo Daniel-Ratlos!
Mit dem oben geänderten Code sollte es nun funktionieren
Gruß Dieter
Zitat von @Daniel-Ratlos:
Ich hab in dem Post oben noch ein Bild zur Verdeutlichung des Problems hinzugefügt.
Das war eine gute Idee. Um aus der vorangegangen Text-Erklärung auf so eine Tabellenansicht zu schließen, muss man aber schon ungewöhnlich viel Phantasie haben. Bis auf den Namen haben die beide aber auch nix gemeinsamIch hab in dem Post oben noch ein Bild zur Verdeutlichung des Problems hinzugefügt.
Mit dem oben geänderten Code sollte es nun funktionieren
Gruß Dieter
Hallo Daniel-Ratlos!
Um die Ziel-Tabelle vernünftig sortieren zu können, müsste der Name auf zwei Spalten Vorname und Nachname gesplittet werden. Dann könnte die Tabelle erst nach Nachname und anschließend auf Vorname sortiert werden
Gruß Dieter
Um die Ziel-Tabelle vernünftig sortieren zu können, müsste der Name auf zwei Spalten Vorname und Nachname gesplittet werden. Dann könnte die Tabelle erst nach Nachname und anschließend auf Vorname sortiert werden
Gruß Dieter