Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen addieren /zusammenfassen

Zeilen addieren /zusammenfassen
18.01.2008 13:54:03
Nektim
Hallo,
ich möchte redundante Datensätze bezogen auf die Spalten A - D zusammenfassen. Siehe Beispiel unten. Da es vorkommen kann, das Kunden mehrere Adressen innerhalb eines Ortes haben. Ausserdem sollen die Zellinhalte der nachfolgenden Spalten "addiert" werden wenn Sie zu einem Kunden gehören. Als Beispiel hat der Kunde ein Produkt gekauft mit dem Namen Z, siehe 1. Zeile weiter unten und dann hat er zu einem anderen Zeitpunkt nichts gekauft. Zusammengefasst hat er aber das Produkt mit dem Namen Z gekauft.
Vorher: (leer bedeutet Zelle ohne Inhalt )
Kunde...............PLZ........Ort.....Strasse........Produkt
Kunde A............xxxxx.....xxx......xxx..............Z
Kunde A............xxxxx.....xxx......xxx..............leer
Kunde B........................................................leer
Kunde B........................................................Y
Kunde A............xxxxx.....xxx.......yyy.............leer
Nachher: leer und X = X
Kunde.............PLZ.........Ort........Strasse...............Produkt
Kunde A..........xxxxx......xxx........xxx.....................Z
Kunde B................................................................Y
Kunde A..........xxxxx......xxx........yyy....................leer

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

Betreff
Datum
Anwender
Anzeige
www.excelformeln.de & TEILERGEBNIS...
18.01.2008 14:16:15
Luc:-?
...schau mal erst da rein, Nektim!
Gruß Luc :-?

AW: www.excelformeln.de & TEILERGEBNIS...
18.01.2008 14:26:40
Nektim
Die Seite hilft mir nicht wirklich weiter, da ich es per VBA machen möchte. Einen Ansatz hab ich in einem anderen Forum schon mal gefunden. Aber das anzupassen übersteigt meine Fähigkeiten.
http://www.office-loesung.de/ftopic184543_0_0_asc.php
Sorry, falls das einbringen von externen Links nicht erlaubt ist!

...da hat hier Keiner was dagg, aber ich leider...
18.01.2008 14:48:07
Luc:-?
...keine Zeit für so umfangreiche VBA-Arbeiten! Aber hier gibt's ja noch richtig dolle VBA-Freaks...
a19nBI2518wRYiyx19bHjnT19M8/IyU22Gqi25-74/n24iy38195
Bis zum Abend oder Morgen wird sich sicher einer finden... ;-)
Gruß Luc :-?

Anzeige
Pardon! NOCH...
18.01.2008 14:49:00
...OFFEN!
:-?

AW: Pardon! NOCH...
18.01.2008 22:25:21
Daniel
HI
falls du einen VBA-Lösung brauchst, solltest du mal eine Beispieldatei mit genügend Datensätzen hochladen, damit man mal was ausprobieren kann.
wenn du eine für dich verwendbar Lösung haben willst, sollten die Daten möglichst den Originaldaten entsprechen.
Außerdem wäre es nicht schlecht, wenn du für die Beispieldatensätze von Hand das gewünschte Ergebnis hinzufügst, damit man sein Makro gleich überprüfen kann.
Gruß, Daniel

AW: Pardon! NOCH...
22.01.2008 14:48:00
Nektim
Ich hab mal eine Beispiel Datei hochgeladen so wie es aussehen sollte.
MFG
https://www.herber.de/bbs/user/49266.xls

Anzeige
AW: Pardon! NOCH...
22.01.2008 16:48:07
Nektim
Keine eine Idee ?

AW: Pardon! NOCH...
22.01.2008 17:24:08
Ferdi
schön bunt...

AW: Pardon! NOCH...
22.01.2008 21:35:06
Daniel
Hallo
hier der Code funktionsfähig mit deinem Bespiel:

Sub test()
Dim sp As Long
Dim ze As Long
Dim check As Boolean
'--- Sortieren
For sp = 5 To 1
Range("A1").CurrentRegion.Sort key1:=Cells(2, sp), order1:=xlAscending, header:=xlNo
Next
ze = 2
Do Until Cells(ze + 1, 1).Value = ""
'--- Prüfen, ob gelicher Kunde
check = True
For sp = 1 To 5
check = check And (Cells(ze, sp) = Cells(ze + 1, sp))
Next
Select Case check
Case False '--- Neuer Kunde, eine Zeile weiter
ze = ze + 1
Case True '--- gleicher Kunde, zusammenfassen
For sp = 6 To 19 'nummern der Spalten, die zusammengefasst werden sollen
If Cells(ze + 1, sp)  "" Then
Select Case IsNumeric(Cells(ze, sp))
Case True '--- Zahlen zusammenaddieren
Cells(ze, sp) = Cells(ze, sp) + Cells(ze + 1, sp)
Case False '--- Texte zusammenfassen
If Cells(ze, sp)  "" Then Cells(ze, sp) = Cells(ze, sp) & " " '  _
Trennzeichen
Cells(ze, sp) = Cells(ze, sp) & Cells(ze + 1, sp)
End Select
End If
Next sp
Rows(ze + 1).Delete
End Select
Loop
End Sub


Zellen, die Zahlen enthalten, werden beím Zusammenfassen zusammenaddiert, Zellen die Texte enthalten, werden mit einen Leerzeichen als Trennzeichen zusammengesezt
Aufpassen musst du mit der Zertifikats-Nr, die wird nach momentanen Stand aufaddiert.
Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige