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

Zusammenfassen von Daten mit mehr. Suchkriterien

Zusammenfassen von Daten mit mehr. Suchkriterien
04.07.2014 22:28:33
Daten
Hallo zusammen,
nach (erfolgslosen) Tage langen Versuche bin ich nun auf Eure Hilfe angewiesen und hoffe ihr könnt mir helfen.
Ich habe eine Liste, darin sind Fahrten aufgelistet. Nun will ich diese wie folgt zusammenfassen:
Es soll nach gleichem Datum, Abfahrtszeit und Kategorie (in rot markiert) gesucht werden. Alle übereinstimmende sollen verbunden in einer Zelle dargestellt werden.
Hinzukommt dass zu jeder Abfahrt Name, Anzahl der Kinder und Preis pro Kind steht, diese sollen auch in jeweiliger Zelle verbunden dargestellt werden, jedoch gilt hierbei:
Name = zusammen verkettet in der verbundenen Zelle legen
Anzahl = Kinder sollen zusammen gezählt werden in einer verbundenen Zelle
Preis = soll ebenfalls zusammen gerechnet werden in einer verbunden Zelle
Ich habe hierfür eine Datei hochgeladen und darin farblich markiert. Links ist der Ursprung und rechts soll das Ergebnis sein.
Ich habe einiges ausversucht doch stets erfolgslos, hoffe und bin mir sicher ihr habt eine gute Lösung für mich.
Datei: https://www.herber.de/bbs/user/91387.xlsm
Vielen Dank und LG
Urmila

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum in dieser 2.Tabelle VerbundZellen, ...
05.07.2014 01:10:11
Luc:-?
…Urmila,
die hat doch mit der Quelle nur den Inhalt gemein und muss sich nicht auch noch in der Form angleichen?!
Also steht zu vermuten, dass du das letzte Mal dein eigentliches Problem, wie das leider recht oft geschieht, gar nicht, sondern einen Zwischenstand deiner Überlegungen dargestellt hast. Damit hast du von vornherein die Chance vertan, eine optimale Lösung zu erhalten, die ich dir diesmal auch nicht geben werde, zumal du deinen letzten Thread gar nicht und meinen letzten Beitrag in dem davor auch nicht beantwortet hast und ich jetzt auch keine Zeit mehr dafür habe.
Nur soviel; in deinem Fall sollte ein einfaches Verbinden der Zellinhalte genügen, zB mit der UDF MxJoin aus dem Archiv. Darin findest du dann auch noch diverse Beiträge zu VerbundZellen, u.a. zum Verbinden von Texten mehrerer Zellen in der 1.Zelle einer VerbundZelle inkl Übernahme der SchriftFarbe (als BspDatei), sowie ein DemoPgm zur Simulation des entsprd Features von LO/OOcalc. Mit letzterer Software könntest du dein Problem auch lösen, alles wieder als .xlsx speichern und wieder in Xl öffnen.
Gruß, Luc :-?

Anzeige
AW: Warum in dieser 2.Tabelle VerbundZellen, ...
05.07.2014 11:41:47
urmila
Lieber Luc
nein ich habe Dich garnicht ignoriert und habe auch deine Beiträge bzw. Antworten gelesen. Zu den damaligen Zeiten war das meine Überlegung und dein Lösungssatz war mehr als ausreichend für mich, doch die Tatsache ist dass das doch zu wenig war. Ich habe versucht den Code den Du mir gegeben hast, auszubauen, wollte Dich erst wieder fragen doch war der Meinung Dir nicht zu ärgern und selber in die Hand zu nehmen, doch ist mir das nicht gelungen, daher dieser Beitrag.
Jedenfalls, danke ich Dir das Du geantwortet hast und hoffe doch sehr, dass Du mir und uns in Zunkunft weiter Hilfe anbietest.
LG
Urmila

Anzeige
AW: Zusammenfassen von Daten mit mehr. Suchkriterien
05.07.2014 02:50:28
Daten
Hallo Urmila,
ein ausbaufähiger Ansatz:
Option Explicit
Sub test_mitzelle()
Dim wkstab As Worksheet
Set wkstab = ActiveWorkbook.Worksheets("Tabelle1")
Dim zeilews As Long, endetb As Long, verb As Long, namtn As Long, pers As Double, preis As  _
Double
endetb = wkstab.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
With wkstab
.Range(.Cells(2, 8), .Cells(endetb, 13)).ClearContents
.Range(.Cells(2, 8), .Cells(endetb, 13)).UnMerge
For zeilews = 2 To endetb
If WorksheetFunction.CountIfs(.Range(.Cells(2, 1), .Cells(zeilews, 1)), .Cells(zeilews, 1), _
.Range(.Cells(2, 2), .Cells(zeilews, 2)), .Cells(zeilews, 2), _
.Range(.Cells(2, 3), .Cells(zeilews, 3)), .Cells(zeilews, 3)) =  _
1 Then
verb = WorksheetFunction.CountIfs(.Range(.Cells(2, 1), .Cells(endetb, 1)), .Cells(zeilews, 1), _
_
.Range(.Cells(2, 2), .Cells(endetb, 2)), .Cells(zeilews, 2), _
.Range(.Cells(2, 3), .Cells(endetb, 3)), .Cells(zeilews, 3)) - 1
For namtn = zeilews To zeilews + verb
.Cells(zeilews, 11) = .Cells(zeilews, 11) & "; " & .Cells(namtn, 4)
pers = pers + .Cells(namtn, 5)
preis = preis + .Cells(namtn, 6)
Next namtn
.Cells(zeilews, 8) = .Cells(zeilews, 1)
.Range(.Cells(zeilews, 8), .Cells(zeilews + verb, 8)).Merge
.Cells(zeilews, 9) = .Cells(zeilews, 2)
.Range(.Cells(zeilews, 9), .Cells(zeilews + verb, 9)).Merge
.Cells(zeilews, 10) = .Cells(zeilews, 3)
.Range(.Cells(zeilews, 10), .Cells(zeilews + verb, 10)).Merge
.Cells(zeilews, 11).WrapText = True
.Cells(zeilews, 11) = Application.Substitute(.Cells(zeilews, 11), "; ", , 1)
.Range(.Cells(zeilews, 11), .Cells(zeilews + verb, 11)).Merge
.Cells(zeilews, 12) = pers
.Range(.Cells(zeilews, 12), .Cells(zeilews + verb, 12)).Merge
.Cells(zeilews, 13) = preis
.Range(.Cells(zeilews, 13), .Cells(zeilews + verb, 13)).Merge
End If
pers = 0
preis = 0
Next zeilews
End With
Application.ScreenUpdating = True
End Sub
MfG Christian

Anzeige
AW: Zusammenfassen von Daten mit mehr. Suchkriterien
05.07.2014 11:57:44
Daten
Hallo Christian,
ich habe soeben dein Code getestet und es ist absolut "geil".
Besser gehts echt nicht.
Vielen vielen lieben Dank lieber Christian :-*
LG
Urmila

besser geht immer...
05.07.2014 12:51:43
Christian
Hallo Urmila,
es geht bestimmt noch besser, zumal es hier im Forum Profis gibt, die dass ganze bestimmt anders lösen würden.
Beim Testen ist mir z.B. aufgefallen, dass die Zeilenhöhen in der Tabelle geändert werden, durch den Zeilenumbruch.
Habe dass noch geändert, aber für einen guten Code solltest Du Dich an die Profis wenden!!!
Sub test_mitzelle()
Dim wkstab As Worksheet
Set wkstab = ActiveWorkbook.Worksheets("Tabelle1")
Dim zeilews As Long, endetb As Long, verb As Long, namtn As Long, pers As Double, preis As  _
Double
endetb = wkstab.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
With wkstab
With .Range(.Cells(2, 8), .Cells(endetb, 13))
.ClearContents
.UnMerge
.WrapText = False
End With
For zeilews = 2 To endetb
If WorksheetFunction.CountIfs(.Range(.Cells(2, 1), .Cells(zeilews, 1)), .Cells(zeilews, 1), _
.Range(.Cells(2, 2), .Cells(zeilews, 2)), .Cells(zeilews, 2), _
.Range(.Cells(2, 3), .Cells(zeilews, 3)), .Cells(zeilews, 3)) =  _
1 Then
verb = WorksheetFunction.CountIfs(.Range(.Cells(2, 1), .Cells(endetb, 1)), .Cells(zeilews, 1), _
_
.Range(.Cells(2, 2), .Cells(endetb, 2)), .Cells(zeilews, 2), _
.Range(.Cells(2, 3), .Cells(endetb, 3)), .Cells(zeilews, 3)) - 1
For namtn = zeilews To zeilews + verb
.Cells(zeilews, 11) = .Cells(zeilews, 11) & "; " & .Cells(namtn, 4)
pers = pers + .Cells(namtn, 5)
preis = preis + .Cells(namtn, 6)
Next namtn
.Cells(zeilews, 8) = .Cells(zeilews, 1)
.Range(.Cells(zeilews, 8), .Cells(zeilews + verb, 8)).Merge
.Cells(zeilews, 9) = .Cells(zeilews, 2)
.Range(.Cells(zeilews, 9), .Cells(zeilews + verb, 9)).Merge
.Cells(zeilews, 10) = .Cells(zeilews, 3)
.Range(.Cells(zeilews, 10), .Cells(zeilews + verb, 10)).Merge
.Cells(zeilews, 11) = Application.Substitute(.Cells(zeilews, 11), "; ", , 1)
With .Range(.Cells(zeilews, 11), .Cells(zeilews + verb, 11))
.Merge
.WrapText = True
End With
.Cells(zeilews, 12) = pers
.Range(.Cells(zeilews, 12), .Cells(zeilews + verb, 12)).Merge
.Cells(zeilews, 13) = preis
.Range(.Cells(zeilews, 13), .Cells(zeilews + verb, 13)).Merge
End If
pers = 0
preis = 0
Next zeilews
End With
Application.ScreenUpdating = True
End Sub

MfG Christian

Anzeige
AW: besser geht immer...
06.07.2014 01:11:31
Urmila
Hallo Christian,
Das mit den Zeilenhöhe stört mich nicht, daher war der erste Code schon eine sehr große Hilfe für mich.
Ich werde diesen Code später mal testen, bedanke mich aber schon recht herzlich bei Dir...
Vielen Dank und lieben Gruß
Urmila :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige