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

Daten aus Ursprungstabelle sortieren

Daten aus Ursprungstabelle sortieren
19.04.2021 09:58:24
Christian
Hallo liebe Leute,
ich habe eine ToDo-Liste, in der ich erledigte Einträge mit einem x als erledigt markiere.
Die Einträge erfolgen nicht unbedingt mit chronologischem Datum, sondern so, wie sie täglich anfallen. Sie können auch deutlich in der Zukunft liegen.
Auf einer Übersichtsseite, für das gesamte Projekt, lasse ich mir die aktiven ToDo-Einträge anzeigen.
Wie bekomme ich es hin, dass die Einträge chronologisch angezeigt werden und wie bekomme ich die Leerzeilen in der Übersicht weg?
Siehe angehängte Datei.
https://www.herber.de/bbs/user/145637.xlsm
Eine Lösung hierfür würde mir auch bei anderen Aufgaben helfen. So habe ich das selbe Problem bei Lieferterminen, usw.

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hierzu angemerkt ...
19.04.2021 10:21:20
neopa
Hallo Christian,
.... und zwar auch ohne mir Deine anzuschauen, weil ich mich mit VBA nicht beschäftige. So wie Du schreibst, könnte aber meinerseits auch eine Formellösung oder eine PowerQuery-Lösung in Frage kommen.
Wenn Du allerdings zwingend Deine VBA-Lösung ausbauen willst, dann schreibe im Antwortbetreff einfach : "VBA-Lösung gesucht"
Gruß Werner
.. , - ...
VBA Daten aus Ursprungstabelle sortieren
19.04.2021 10:35:00
Christian
Hallo Werner,
danke für den Hinweis.
Ich nehme an, dass die Aufgabe am besten mit VBA gelöst werden könnte.
Gruß, Christian
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 11:18:58
Hans
Hallo Christian,
hier findest Du die Beispielarbeitsmappe:
https://www.herber.de/bbs/user/145646.xlsm
Hier der Code:

Sub ExportListe()
Dim wksS As Worksheet, wksT As Worksheet
Dim iRowS As Integer, iRowT As Integer
Set wksS = Worksheets("ToDo")
Set wksT = Worksheets("Gesamtübersicht")
wksT.Rows("2:" & wksT.Rows.Count).ClearContents
For iRowS = 2 To wksS.Cells(wksS.Rows.Count, 4).End(xlUp).Row
If wksS.Cells(iRowS, 4).Value = "x" Then
iRowT = wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row + 1
wksT.Cells(iRowT, 1).Value = wksS.Cells(iRowS, 1).Text & " " & wksS.Cells(iRowS, 3). _
Value
End If
Next iRowS
End Sub
Gruß hans
Anzeige
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 11:33:09
Christian
Hallo Hans,
danke Dir für Deine Mühe.
Vielleicht habe ich mich in meiner Beschreibung nicht genau ausgedrückt.
In der Gesamtübersicht möchte ich die offenen Aufgaben anzeigen.
Also diejenigen ohne "X".
Toll wäre es auch, wenn die Daten beim Öffnen der Gesamtübersicht automatisch aktualisiert werden.
Deine jetzige Lösung kann ich für andere Aufgaben benutzen :-)
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 12:45:04
Hans
Hallo Christian,
das hatte ich wohl falsch gelesen. Die angepasste Arbeitsmappe findest Du hier:
https://www.herber.de/bbs/user/145648.xlsm
Der neue Code, diesmal im Klassenmodul der Arbeitsmappe:

Private Sub Workbook_Open()
Dim wksS As Worksheet, wksT As Worksheet
Dim iRowS As Integer, iRowT As Integer
Set wksS = Worksheets("ToDo")
Set wksT = Worksheets("Gesamtübersicht")
wksT.Rows("2:" & wksT.Rows.Count).ClearContents
For iRowS = 2 To wksS.Cells(wksS.Rows.Count, 1).End(xlUp).Row
If wksS.Cells(iRowS, 4).Value  "x" Then
iRowT = wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row + 1
wksT.Cells(iRowT, 1).Value = wksS.Cells(iRowS, 1).Text & " " & wksS.Cells(iRowS, 3).Value
End If
Next iRowS
End Sub
Gruss hans
Anzeige
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 13:22:15
Christian
Hallo Hans, hallo Piet,
vielen Dank für Eure Hilfe.
Es ist natürlich übersichtlicher, wenn die Einträge auf der Gesamtübersicht nach Datum sortiert sind, Piet.
Im Moment stehe ich aber vor einer anderen Aufgabe.
In der Vorlage, die ich hochgeladen hatte, habe ich in A1 angefangen, weil ich dachte, dass das so übersichtlicher ist...
Tatsächlich muss es mit A15, in den offenen Aufgaben, losgehen. https://www.herber.de/bbs/user/145652.xlsm
Es wäre toll, wenn das noch angepasst würde. Sonst weiß ich nicht, wie ich es verwenden kann.
Anzeige
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 13:27:29
Piet
Hallo Christian
freut mich das die meine Arbeit gut gefaellt. Die Zeile zu aendern ist sehr einfach. Es ist die Variable z = 2
Es steht auch der Kommentar dahint '1.Zeile zum auflisten. Dort musst du "z "nur auf 15 aendern. Das ist alles!
mfg Piet
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 13:53:23
Christian
Dass die Daten sortiert werden, gefällt mir natürlich gut, Piet.
Im Moment ist es mir aber wichtiger, das Layout, das ich vorhin hier angehängt habe, zu behalten.
In der Gesamtübersicht ziehe ich halt Daten aus etlichen Tabellen zusammen und dieser Aufbau ist übersichtlich für mich.
Dass die Zellen in der ToDo-Liste verbunden sind, muss nicht so bleiben. Ich hatte das nur benutzt, weil ich keine andere Lösung weiß, wie ich sonst die aktiven Einträge aus der ToDo-Liste in die Gesamtübersicht bekomme.
Viel eleganter wäre es natürlich, wenn die Daten direkt aus den Spalten kommen. Dann könnte ich auch die Spalte Datum im Datumsformat formatieren.
Anzeige
AW: VBA Daten aus Ursprungstabelle sortieren
19.04.2021 14:20:07
Piet
Hallo Christian
ich habe dir die Spalten wieder so umgestellt wie sie im 1. Beispiel waren. Die überflüssigen Spalten kannst du löschen. (habs vergessen)
Das auflisten und löschen beginnt jetzt mit Zeile 15. Ich hoffe das ist so richtig. Muss jetzt Schluss machen für heute, habe Besuch bekommen!
https://www.herber.de/bbs/user/145657.xlsm
mfg Piet
AW: VBA Daten aus Ursprungstabelle sortieren
20.04.2021 11:18:36
Herbert_Grom
Hallo Christian,
schau dir mal meinen neuen Vorschlag an, er basiert auf dem Makro von Hans:
https://www.herber.de/bbs/user/145669.xlsm
Servus
Anzeige
AW: Daten aus Ursprungstabelle sortieren
19.04.2021 13:00:38
Piet
Hallo
Probier es bitte mal mit deiner Beispieldatei. Ich habe mir erlaubt sie umzugestalten. Die Gesamtübersicht stimmt jetzt 1:1 mit den Spalten der ToDo Liste überein. Der Vorteil ist, dass man so nach Datum sortieren kann. Dieses Makro startet immer beim Sheet Aktivieren automatisch.
In Modul1 gibt es ein zweites Makro für den verbundenen Text in eine Spalte zu schreiben. Den kann ich NICHT sortieren!!
Schau bitte mal welche Lösung dir besser gefaellt. Würde mich freuen wenn dir meine Arbeit zusagt.
https://www.herber.de/bbs/user/145650.xlsm
mfg Piet
Anzeige
AW: Daten aus Ursprungstabelle sortieren
19.04.2021 13:22:25
Piet
Hallo Hans
ich sehe gerade du warst schneller wie ich, mein Beispiel war aber schon fertig geschrieben und dann schmeiss ich es nicht in die Mülltonne.
Der Frager entscheidet ohnehin selbst welche Version ihm am besten gefaellt. Grüsse aus Ankara an die Heimat ...
mfg Piet
AW: er wollte ohne Formel sortieren ...
19.04.2021 16:11:32
neopa
Hallo Herbert,
... Deine Formellösung sortiert noch nicht nach den Zeitdaten, sondern nur nach der vorh. Listenreihenfolge in ToDo.
Meine Formellösung hätte deswegen wie folgt ausgesehen (Zellen weit genug nach unten kopiert):
 AB
1Offene Aufgaben
213.04.20213x Büroausstattung bestellen
313.04.2021Mail an Michael, alle Rechnungen zu mir
413.04.2021Briefmarken besorgen
513.04.2021IT - Kasse einrichten
613.04.2021Reiner Aktenführung besprechen

ZelleFormatWert
A2TT.MM.JJJJ h:mm13.04.2021

ZelleFormel
A2=WENNFEHLER(AGGREGAT(15;6;(ToDo!A$2:A$99+ToDo!B$2:B$99)/(ToDo!D$2:D$99="x");ZEILE(A1));"")
B2=WENNFEHLER(INDEX(ToDo!C:C;AGGREGAT(15;6;ZEILE(ToDo!A$2:A$99)/(ToDo!A$2:A$99+ToDo!B$2:B$99=A2);ZÄHLENWENN(A$2:A2;A2)));"")

Zellebedingte Formatierung...Format
A21: REST(A2;1)=0abc
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Dazu wäre noch anzumerken, dass so noch Aufgaben mit einer Zeitangabe in Spalte B der ToDo nach denen ohne Zeitangaben mit gleichem Tag gelistet würden.
Gruß Werner
.. , - ...
Anzeige
AW: er wollte ohne Formel sortieren ...
21.04.2021 10:27:21
Christian
Hallo Ihr Lieben,
meinen ganz herzlichen Dank für die Mühe, die Ihr Euch gemacht habt!
Ich habe mir Eure Vorschläge alle ausführlich angesehen. Leider klappt das alles nicht so wirklich.
Bei den VBA-Lösungen, kommt der Ansatz von Hans dem am Nächsten. https://www.herber.de/bbs/user/145648.xlsm
Hier weiß ich aber nicht, wie ich die Daten aus ToDo erst ab Zeile 15 in der Übersicht "offene Aufgaben" anzeigen lassen kann.
Ausserdem werden mir alle anderen Daten auf der Seite gelöscht. Hier nochmal das Layout: https://www.herber.de/bbs/user/145652.xlsm
Die Formellösungen machen mich kirre, weil ich sie auch nicht wirklich verstehe. So kannte ich "Aggregat" noch nicht.
=WENNFEHLER(INDEX(ToDo!A$2:A$99&", "&ToDo!B$2:B$99&", "&ToDo!C$2:C$99;AGGREGAT(15;6;ZEILE($C$1:$C$18) /(ToDo!$D$2:$D$99="x");ZEILE($C1)));"")
Also, Index ist mir klar.
Aggregat 15;6 führt kkleinste mit ignorieren der Fehlerwerte aus. Wozu an dieser Stelle kkleinste?
ZEILE($C$1:$C$18) geht mir nicht in den Kopf. In der Gesamtübersicht wird Spalte C gar nicht benutzt.
/(ToDo!$D$2:$D$99="x") Hier habe ich dann das x rausgenommen, weil es die bereits erledigten Aufgaben markiert. Ich brauche eine Anzeige der offenen Aufgaben.
ZEILE($C1) Sollte an dieser Stelle nicht der x-te Wert einer Matrix angegeben werden?
Es ist mir wichtig, dass ich das Ganze verstehe!
Dann muss ich Euch nicht mit meiner nächsten Aufgabe behelligen. Nämlich, mir die nächsten Liefertermine in der Gesamtübersicht anzeigen zu lassen ;-)
Anzeige
AW: er wollte ohne Formel sortieren ...
21.04.2021 11:06:49
Christian
Hallo Herbert,
ich habe mir Deinen Vorschlag angesehen.
Er trägt die Daten ab Zeile 15 ein. So wie ich es brauche. Allerdings die bereits erledigten Aufgaben.
Auf doof habe ich dann das "x" aus dem Code genommen: If wksS.Cells(iRowS, 4).Value = "x" Then... Leider hat das nichts gebracht.
Gut wäre es auch, wenn die Daten beim öffnen des Sheets Gesamtübersicht aktualisiert werden, weil ich die Lösung für "offene Aufgaben" ja auch für die Liefertermine und vielleicht Anderes nutzen möchte.
Würde es funktionieren, wenn ich für die Liefertermine folgendes ändere?
Set wksS = Worksheets("ToDo") --- Set wksS = Worksheets("Liefertermine")
.SortFields.Add Key:=Range("A15:A" & wksT.Cells --- .SortFields.Add Key:=Range("D15:D" & wksT.Cells
Im Moment habe ich bei den Lieferterminen zwar SpalteA: Datum von, SpalteB: Datum bis. Ich könnte zur Not aber auch damit leben, wenn nur SpalteB in der Gesamtübersicht angezeigt wird.
Aber ich finde in Deinem Code nichtmal, wo Du festlegst, welche Daten aus ToDo übernommen werden sollen.
Muss nochmal unterstreichen, dass ich vom Codieren nur äußerst rudimentäre Kenntnisse habe! Darum hatte ich mich ja auch gestern und heute über die Formellösungen hergemacht.
Gruß, Christian
Anzeige
AW: er wollte ohne Formel sortieren ...
21.04.2021 12:11:16
Christian
Nochmal hallo Herbert,
ich habe das Makro eben nochmal ausprobiert und es löscht mir alle anderen Formeln auf dem Sheet.
Kommt das hiervon? wksT.Rows("2:" & wksT.Rows.Count).ClearContents
AW: dazu ...
21.04.2021 11:57:34
neopa
Hallo Christian,
... zu Deinen Fragen zu meiner eingestellten Formellösung.
zu Wozu an dieser Stelle kkleinste?
weil damit die der/n Bedingung(n) zutreffende Zeilennummer ermittelt werden soll.
zu ZEILE($C$1:$C$18) ... In der Gesamtübersicht wird Spalte C gar nicht benutzt
In meiner Formel steht das so nicht drin. Könnte jedoch auch so genutzt werden. Es wird darüber lediglich eine Matrix gebildet aus Zahlen von 1:18 oder bei mir 1:99 die stellvertretend für die Zeilennummern steh, die ja ausgewertet werden sollen. Dazu s.o.
zu (ToDo!$D$2:$D$99="x") Hier habe ich dann das x rausgenommen,... ich brauche eine Anzeige der offenen Aufgaben.
dafür dann so: (ToDo!$D$2:$D$99="")
zu ZEILE($C#) Sollte an dieser Stelle nicht der x-te Wert einer Matrix angegeben werden?
nein, es steht hier für den #-ten kleinsten Wert, s.o.
Gruß Werner
.. , - ...
AW: dazu ...
21.04.2021 12:22:35
Christian
Danke Dir, Werner.
Mir qualmt schon der Kopf. Hätte gedacht, dass die Aufgabe simpler zu lösen wäre.
Aber immerhin habe ich wieder etwas dazu gelernt! Ich wäre nie drauf gekommen, dass man so die Zeilennummern ermitteln kann.
Mir steht noch Bildungszeit zu.
Was meinst Du, Ihr, mit welchem Excel-Kurs ich wieder einsteigen sollte?
AW: das hängt von vielen Faktoren ab ...
21.04.2021 15:40:43
vielen
Hallo Christian,
... u.a. davon, was Du Dir als Zielstellung setzt bzw. Dir gesetzt wurde/wird. Also wichtig ist auf jeden Fall, wozu Du das zu erwerbende Wissen benötigst bzw. anwenden willst. Dann noch wie viel Zeit Du dafür zur Verfügung hast bzw. bekommst und nicht zuletzt natürlich auch, welchen finanziellen Aufwand Du investieren kannst/möchtest.
Die meisten wollen natürlich möglichst umfassenden Wissen möglichst sofort und das ganze für lau. Letzteres kann man haben. Dafür nutze einfach intensiv das Internet und werde parallel dazu aktiv in Foren wie diesem. Damit kannst Du Dich schon auf einen sehr hohen Level bringen. Natürlich bedarf es dazu aber auch viel bzw. zumindest mehr Zeit, als wenn Du Kurse belegst. Dafür kosten die auch entsprechend und bringen allein oft nur bedingt Erkenntniszugewinn.
Am effektivsten dürfte eine Individualschulung sein, z.B. wenn Du bestimmte Aufgaben regelmäßig mit Excel lösen musst bzw. möchtest und Dir dafür einen erfahrenen Ausbilder mit reichlich Praxiserfahrung zur Verfügung steht und Du in der Lage bist die richtigen Fragestellungen dazu vorzutragen.
Na und dann kannst Du auch vorgenanntes miteinander verschieden kombinieren. Aber ohne "Lernen durch Tun" wird es in seltenen Fällen zum Erfolg führen.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige