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

Sortiermakro Geburtstagsliste

Sortiermakro Geburtstagsliste
mike49
Hallo zusammen,
ich habe eine Geburtstagsliste unserer Vereinsmitglieder angelegt, die so aufgebaut ist:
Spalte A: Nachname
Spalte B: Vorname
Spalte C: Geburtstag im Format "dd.mm.yyyy"
Spalte D: Alter (mit Formel errechnet)
Ich möchte jetzt mit Hilfe eines automatisch ablaufenden Makros die Tabelle, die die Spalten A:D (beginnend bei Zeile 2 und für weitere hinzukommende Mitglieder nach unten offen ist), so sortieren, dass immer das dem aktuellen Datum am nächsten stehende Mitglied oben steht (quasi in Zeile 2).
Nach Einfügen weiterer Mitglieder sollen diese dann nach Drücken der Eingabetaste in der Tabelle an die richtige Stelle einsortiert werden. Ebenso, falls ein Mitglied in der Tabelle gelöscht wird, soll nach Drücken der Eingabetaste die Leerzeile durch Aufrücken der Nachstehenden gefüllt werden.
Ist so was machbar?
Freundliche Grüße
mike49
AW: Sortiermakro Geburtstagsliste
03.09.2011 10:46:08
Hajo_Zi
Hallo Mike,
mache eine Hilfsspalte in der der Gebrttag in diesem Jahr steht und sortiere nach dieser Spalte, Die man auch ausblenden kann.

AW: Sortiermakro Geburtstagsliste
03.09.2011 11:38:03
mike49
Hallo Hajo,
danke für deine Hife. Diese Möglichkeit der Sortierung kannte ich.
Ich wollte die Sortierung aber - so wie beschrieben - eleganter mit einem Makro automatisch ablaufen lassen.
Wäre das machbar oder ist das Makro zu aufwändig?
Gruß
mike49
AW: Sortiermakro Geburtstagsliste
03.09.2011 11:51:41
Hajo_Zi
Hallo Mike,
das wäre mir zu aufwendig. Im Makro müßte ich auch dieses Makro ermitteln.
Gruß Hajo
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 12:07:47
Tino
Hallo,
kannst mal testen ob dies so funktioniert.
Sortiert wird nach welcher Geburtstag am nächsten Heute liegt,
also nicht wer als nächster Geburtstage hat.
Wenn Du danach sortieren willst wer als nächter Gebutstag hat, ersetze im Modul1 die Zeile

            .Formula = "=IF((RC1&RC2)<>"""",IF(ISNUMBER(RC3),ABS(DATE(YEAR(TODAY()),MONTH(RC3),DAY(RC3))-TODAY()),10^99),True)" 'entsprechende Formel 
durch diese

            .Formula = _
            "=IF((RC1&RC2)<>""""," & _
            "IF(ISNUMBER(RC3),IF(DATE(YEAR(TODAY())," & _
            "MONTH(RC3),DAY(RC3))-TODAY()<0,DATE(YEAR(TODAY())+1," & _
            "MONTH(RC3),DAY(RC3))-TODAY(),DATE(YEAR(TODAY())," & _
            "MONTH(RC3),DAY(RC3))-TODAY()),10^99),True)" 'entsprechende Formel 

https://www.herber.de/bbs/user/76444.xls
Gruß Tino
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 13:08:13
Tino
Hallo,
und hier noch wenn die Tabelle neu berechnet wird z. Bsp. beim öffnen oder drücken der F9 Taste.
https://www.herber.de/bbs/user/76445.xls
Gruß Tino
AW: Sortiermakro Geburtstagsliste
03.09.2011 13:26:44
mike49
Hallo Tino,
ich war zu schnell. So wie in der neuen Mappe klappt's prima. Danke für deine Mühe.
Eines hätte ich noch:
Wie kann man erreichen, dass runde Geburtstage in Spalte D (Alter) farblich hervorgehoben werden?
Gruß
mike49
AW: Sortiermakro Geburtstagsliste
03.09.2011 14:22:37
Tino
Hallo,
vielleicht über die Bedingte Formatierung,
komplette Spalte D Markieren und für die aktive Zelle diese Formel + Format
als Bedingte Formatierung eingeben.
 D
1Alter
259
360
458
559
660
761
850
959
1060
1161
1258
1359
1460
1561
1640
1759
1860
1961
2058
2159

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
D11. / Formel ist =(REST(D1;10)=0)*(D1<>"")Abc

Gruß Tino
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 14:37:04
mike49
Hallo Tino,
das ist o.k. so.
Ich habe da was falsch erklärt:
Nach der richtigen Sortierung wird in der oberen Zeile das Mitglied, das - ausgehend vom aktuellen Datum - als nächstes Geburtstag hat, angezeigt.
Leider wird aber in der "Alter"-Spalte das aktuelle Alter bis zum Geburtstagsdatum angezeigt.
Mir wäre lieber, wenn das Alter beim Erreichen des Geburtstages angezeigt wird.
Bsp.: Hat jemand am 12.09. 1991 Geburtstag, wir aktuell in der Altersspalte das Alter 19 angezeigt.
Es soll aber das Alter, das er in diesem Jahr erreicht (20) angezeigt werden.
Ist das zu machen?
Gruß
mike49
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 14:56:25
Tino
Hallo,
versuch mal und ersetze in der Tabelle1 die Code- Zeile

.FormulaR1C1 = "=IF(AND(RC3>0,ISNUMBER(RC3)),DATEDIF(RC3,TODAY(),""Y""),"""")"
durch diese

.FormulaR1C1 = "=IF(AND(RC3>0,ISNUMBER(RC3)),YEAR(TODAY())-YEAR(RC3),"""")"

Gruß Tino
AW: Sortiermakro Geburtstagsliste
03.09.2011 15:14:50
mike49
Hallo Tino,
das klappt noch nicht. In der Altersspalte (unter D2) steht die Formel =WENN(UND($C2>0;ISTZAHL($C2));DATEDIF($C2;HEUTE();"Y");""). Ist das o.k. so?
Gruß
mike49
Klappt jetzt doch . . .
03.09.2011 15:20:27
mike49
warum auch immer.
Vielen Dank nochmals für deine Hilfe!
Gruß
Michael
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 13:10:15
mike49
Hallo Tino,
danke, dass dir eine Makrolösung nicht zu aufwändig war.
Ich habe mir deine Musterdatei heruntergeladen und meine Daten eingesetzt. Das funktioniert auch im Prinzip.
Ich hätte aber gerne danach sortiert, wer als nächster ab dem heutigen Datum Geburtstag hat. Dieser soll in der ersten Zeile stehen und alle anderen entsprechend darunter.
Leider weiß ich jetzt nicht, wie das bestehende Makro diesbezüglich ergänzt bzw. geändert werden muss. Mit deinem Vorschlag komme ich nicht ganz klar. Meine VBA-Kenntnisse sind nur "anfängerhaft".
Könntest du mir bitte behilflich sein und das komplette Makro zeigen, das ich dann in das Modul einfügen kann?
Gruß
mike49
Anzeige
AW: Sortiermakro Geburtstagsliste
03.09.2011 13:19:21
Tino
Hallo,
schau mal im zweiten Beispiel.
Gruß Tino
Sorry! Die Berechnung . . .
03.09.2011 14:12:39
mike49
stimmt nicht ganz. Die Altersspalte zeigt ein Jahr zu wenig an!
Bitte überprüfe das mal.
Gruß
mike49
AW: Sorry! Die Berechnung . . .
03.09.2011 14:36:17
Tino
Hallo,
bei mir nicht.
In Spalte A steht stellvertretend für das heutige Datum.
Der Gute im Beispiel wird am 15.09.2011 37 und am 15.09.2012 38 Jahre alt.
 ABC
1HeuteGebutstagAlter
210.09.201115.09.197436
311.09.201115.09.197436
412.09.201115.09.197436
513.09.201115.09.197436
614.09.201115.09.197436
715.09.201115.09.197437
816.09.201115.09.197437
917.09.201115.09.197437
10   
1110.09.201215.09.197437
1211.09.201215.09.197437
1312.09.201215.09.197437
1413.09.201215.09.197437
1514.09.201215.09.197437
1615.09.201215.09.197438
1716.09.201215.09.197438

Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige