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

Datumsformel im Kalender

Datumsformel im Kalender
30.04.2023 07:27:36
Frank

Guten Morgen,
habe hier einen Kalender gefunden, den ich ganz gut finde. https://toptorials.com/dynamischen-monatskalender-erstellen-excel/ Der Kalender funktioniert auch soweit, solange ich in A3(Monat) eine Zahl eingebe. 1 = Januar, 2= Februar usw. Nun möchte ich aber anstatt einer Zahl lieber den Monat eingeben. Aber egal wie ich formatiere, Excel gibt mir immer #WERT! aus. Kann mir jemand dabei helfen? hier mal die Formel, die in G5 steht:

=DATUM($B$3;$A$3;(2-WOCHENTAG(DATUM($B$3;$A$3;1);2))+(SPALTE(G4)-1)+(ZEILE(H1)-1)*7)
In A3 steht 1 für Januar und in B3 2023 für das Jahr. Lade die Datei aber mal mit hoch: https://www.herber.de/bbs/user/158963.xlsm

Lg Frank

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsformel im Kalender
30.04.2023 08:03:17
HeritzP
Hallo,

=DATUM($B$3;MONAT(1&$A$3);(2-WOCHENTAG(DATUM($B$3;MONAT(1&$A$3);1);2))+(SPALTE(A4)-1)+(ZEILE(B1)-1) *7) 


haha..vergiss meine Idee...
30.04.2023 08:13:09
Oberschlumpf
Hi,

...der 2. Lösungsvorschlag ist ja vieeel einfacher!!! :-)))
(ich "geh" doch lieber wieder zu VBA "zurück"^^ :-) )

Ciao
Thorsten


AW: Datumsformel im Kalender
30.04.2023 08:10:20
Oberschlumpf
Hi Frank,

der Grund des von dir beschriebenen Fehlers lässt sich so beschreiben:

Die Funktion DATUM(Jahr;Monat;Tag) erfordert 3 Parameter, alle Parameter sind nicht optional, jeder Parameter muss ein numerischer Wert sein.
Wenn du aber in Zelle A3 einen Monatsnamen.einträgst, enthält A3 einen Textwert und führt somit zu dem #WERT!-Fehler.

Du musst also dafür sorgen, dass der TEXT in A3 in eine ZAHL umgewandelt wird.

Ich würde dafür die SVERWEIS-Funktion verwenden, für die aber eine Hilfstabelle notwendig wäre.

siehe hier...
https://www.herber.de/bbs/user/158964.xlsm

In den Zellen steht nun diese Formel, Bsp aus A5:

=DATUM($B$3;SVERWEIS($A$3;$I$4:$J$15;2;FALSCH);(2-WOCHENTAG(DATUM($B$3;SVERWEIS($A$3; $I$4:$J$15;2;FALSCH);1);2))+(SPALTE(A4)-1)+(ZEILE(B1)-1)*7)

Ja, ich weiß - NOCH - sieht das Ganze nicht schön aus!
Aber die Hilfstabelle im Zellbereich I4:J15 ist deswegen noch sichtbar, damit du nachvollziehen kannst, was jetzt in deiner Datei passiert.

Nachdem du alles verstanden hast, könntest du...

- entweder die Spalten I + J einfach ausblenden
- oder die 2 Hilfsspalten in ein eigenes Tabellenblatt übertragen und dann das ganze Blatt ausblenden (die Formeln müssten natürlich angepasst werden!)

Genau so anpepasst werden müssen die von dir verwendeten bedingten Formatierungen.

Deine bedingte Formatierungen...

=MONAT(A5)=$A$3
=MONAT(A5)>$A$3
...habe ich geändert in...

=MONAT(A5)=SVERWEIS($A$3;$I$4:$J$15;2;FALSCH)
=MONAT(A5)>SVERWEIS($A$3;$I$4:$J$15;2;FALSCH)
Konnte ich helfen?

Ciao
Thorsten


Anzeige
AW: Datumsformel im Kalender
30.04.2023 09:51:54
Alwin WeisAngler
Hallo miteinander,

es sind eigentlich nur ein paar Dinge ohne große Umwege zu ändern:

Eintrag in A3 DropDown --> Liste --> Quelle:

Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember
Formel in A5 runter und nach rechts ziehen:

=DATUM($B$3;MONAT(DATWERT($A$3&"1"));(2-WOCHENTAG(DATUM($B$3;MONAT(DATWERT($A$3&"1"));1);2))+(SPALTE(A4)-1)+(ZEILE(B1)-1)*7)
Bedingte Formatierung anpassen:
Datum Fettschrift:

=MONAT(A5)=MONAT(DATWERT($A$3&"1"))
Datum ausgegraut:

=MONAT(A5)>MONAT(DATWERT($A$3&"1"))
Anbei die geänderte Datei.
https://www.herber.de/bbs/user/158967.xlsm
Gruß Uwe


Anzeige
Hilfe - VBA Code vom Kalender funzt nicht mehr
03.05.2023 12:45:33
Frank
Hallo Leute,
nachdem ihr ja eifrig dabei geholfen habt, das Problem mit der Datumsformel im Kalender zu lösen - was auch super funktioniert, ist nun ein neues Problem aufgetreten. Der VBA-Code, um den Kalender zu befüllen, funktioniert nicht mehr. Ich vermute stark, dass es daran liegt, dass es B2 in der Monatsübersicht, wo ja ursprünglich der Monat drin stand nicht mehr existiert. Ich hätte nie gedacht, dass das bisschen einen so großen Aufwand darstellt, wenn ich sehe, was ihr hier so alles programmiert. Kann mir bitte einer helfen?

Glg Frank


AW: Hilfe - VBA Code vom Kalender funzt nicht mehr
03.05.2023 13:18:57
Daniel
Hi
da solltest du uns den VBA-Code zeigen.
ich würde das Problem übrigens so lösen:
1. der Kalender und seine Formeln bleiben unverändert
2. in Zelle A3 steht weiter hin die Monatsnummer und in B3 das Jahr
3. du trägst in Zelle C3 den Monatsnamen ein.
4. in Zelle A3 berechnest du die Monatsnummer mit dieser Formel: =Monat(C3&" "&B3)
Excel ist in der Lage aus einem Text wie "Januar 2023" ein Datum zu machen, was hier automatisch passiert (bei fehlendem Tag wird er Monatserste angenommen). Das Funktioniert auch, wenn du den Monatsnamen abgekürzt eingibst ("Jan") oder auch die Monatsnummer, dann ist aber der Punkt erforderlich "1."
damit hättest du volle Freiheit, wie du den Monat eingeben willst.
der Rest bleibt unverändert, so dass ein bestehendes Makro problemlos funktionieren sollte.

Gruß Daniel


Anzeige
AW: Hilfe - VBA Code vom Kalender funzt nicht mehr
03.05.2023 13:42:37
Frank
Hallo Daniel,
mir entzieht sich grad der Sinn/Logik, warum ich den Kalender separat steuern soll. Im ersten Moment würde es für mich nur Sinn machen, wenn ich den Monat über deine Lösung oder die von Uwe mit dem "DropDownfeld" auswähle und sich der Kalender dann mit den benötigten Daten füllt.

Hier mal der Code
Sub WerteInKalender()
    Dim iTermin&, i&, j&, rngDatum As Date
    With Tabelle3
        For iTermin = 10 To Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row
            For i = 4 To 19 Step 3
                For j = 1 To 7
                    If CDbl(Mid(.Cells(i, j), 4, 2)) = CDbl(.Cells(2, 2)) Then
                        rngDatum = CDate(.Cells(i, j))
                        If CDate(Tabelle2.Cells(iTermin, 1)) = rngDatum Then
                            .Cells(i + 1, j) = Tabelle2.Cells(iTermin, 9)
                            .Cells(i + 2, j) = Tabelle2.Cells(iTermin, 10).Text & " - " & Tabelle2.Cells(iTermin, 11).Text & " Uhr"
                        End If
                    End If
                Next j
            Next i
        Next iTermin
    End With
End Sub
Die Demo-Datei hatte ich hier hochgeladen https://www.herber.de/bbs/user/158986.xlsm
Gruß Frank


Anzeige
AW: Hilfe - VBA Code vom Kalender funzt nicht mehr
04.05.2023 20:35:34
Daniel
mit meiner Lösung musst du am vorhandenen Kalender nichts ändern, außer dass du in der einen Zelle die Formel einträgst, die die Monatsnummer aus deiner Texteingabe berechnet


AW: Noch ne Möglichkeit
30.04.2023 11:47:03
Herbert_Grom
Hey Charly,

das ist ja mal eine richtig geile Geschichte! Vielen Dank für diesen Tipp! So lernt man auch nach 29 Jahren Excel immer wieder noch etwas Dazu!

Servus


Anzeige
@Charly
30.04.2023 12:41:56
Josef Schindler
Hallo Charly,

wirklich pfiffige Datei dein Kalender.
Respekt!

Gruß

Josef Schindler


AW: @Charly
30.04.2023 12:56:36
Charly CNX
Hi Josef
Die Datei ist nicht von mir, nur die Bedingte Formatierung.
Gruß Charly


AW: Datumsformel im Kalender
30.04.2023 12:50:57
Alwin WeisAngler
@ Charly CNX
Das is ja genial, die Zahl gegen den Namen mit der bedingten Formatierung zu tauschen.

Gruß Uwe


Außer Konkurrenz
30.04.2023 17:39:55
RPP63
Moin!
Ab Excel 2021 / 365 / Online braucht es nur eine einzige Formelzelle.
Der Rest wird gespillt, es braucht nicht gezogen zu werden.

=SEQUENZ(Zeilen;Spalten;Startwert)

Die Formel wird nicht nur kürzer, sondern dürfte auch erheblich schneller rechnen.

Statt:
=DATUM($B$3;$A$3;(2-WOCHENTAG(DATUM($B$3;$A$3;1);2))+(SPALTE(A4)-1)+(ZEILE(B1)-1)*7)
Dann:
=SEQUENZ(6;7;DATUM($B$3;$A$3;(2-WOCHENTAG(DATUM($B$3;$A$3;1);2))))
Gruß Ralf


Anzeige
AW: Außer Konkurrenz
01.05.2023 10:22:33
Chris-Alex
Guten Morgen zusammen,
habe mir jetzt mal alle Lösungsvorschläge angeschaut und getestet. Soweit funktionieren alle, bis auf die von Ralf.
=SEQUENZ(6;7;DATUM($B$3;$A$3;(2-WOCHENTAG(DATUM($B$3;$A$3;1);2)))) 
Excel gibt mir den Fehler #Überlauf! aus, obwohl ich Excel 2021 auf dem Laptop habe. Zu hinterfragen, worin jetzt die Unterschiede liegen, würd wahrscheinlich mein Basiswissen sprengen. Da ich meine Daten tatsächlich aus einem Dropdown beziehe, werde ich wohl zur Lösung von Uwe tendieren. Dennoch interessiert es mich, warum Ralf´s Lösung bei mir nicht funzt.
Lg Frank


Anzeige
AW: Außer Konkurrenz
01.05.2023 11:38:00
Frank
Hey Charly,
so langsam dreh ich hier am Rad mit Excel. In deiner Datei funktioniert es einwandfrei, setze ich aber die Formel von Ralf in Uwe´s Datei mit dem Dropdown-Feld, gibt´s jetzt nen neuen Fehler. Jetzt sagt Excel mir #WERT!. Die Grunddatei stammt ja von Herbert, der mir auch zu Excel 2019 geraten hat. Seitdem treten sowohl in der 19er als jetzt auch in der 21er Version die kuriosesten Fehler auf. Ich habe nen Screen von der Version gemacht und Herbert geschickt, weil er sich auch keinen Reim drauf machen konnte, woher die Fehler stammen. Mit meiner 2003er Version hatte ich nie solche Probleme. Selbst mit der 5.0 unter DOS nicht :-D. Und glaub mir, diese Fehler denke ich mir bestimmt nicht aus.

Gruß Frank


Anzeige
AW: Außer Konkurrenz
01.05.2023 12:36:35
Charly CNX
Hi
Ich finde in Uwe's Datei kein Dropdown.
Ich vermute es ist ein Dropdown mit den Monaten(Text) in A3, worauf sich die Formeln von Uwe beziehen.
In meiner Datei steht in A3 eine Zahl, worauf sich die Formeln von Ralf beziehen.
Der Monatsname wird durch die Bedingte Formatierung erzeugt.
Wenn du unbedingt ein Dropdown möchtest, erstelle eins mit den Zahlen 1 bis 12.
Mir erschließt sich allerdings nicht wozu man ein Dropdown benötigt wenn man nur eine Zahl von 1 bis 12 eingeben muss.
Gruß Charly


AW: Außer Konkurrenz
01.05.2023 13:19:18
Oberschlumpf
Moin,

vielleicht eine Erklärung für...
Mir erschließt sich allerdings nicht wozu man ein Dropdown benötigt wenn...
...= FAULHEIT! :-)))

Auch ICH wähle lieber aus, als dass ich...ohjehh...tatsächlich selbst etwas tippen muss^^ :-)

Ciao
Thorsten


Anzeige
AW: Außer Konkurrenz
01.05.2023 14:07:01
Frank
Hey Charly,
ich würde es jetzt nicht so krass wie Thorsten ausdrücken, ich nenne es lieber "Bequemlichkeit", zumal Excel mir die Bequemlichkeit anbietet. Um das mal zu veranschaulichen, habe ich die aktuelle Datei mal hochgeladen.
https://www.herber.de/bbs/user/158986.xlsm
Der Code funktioniert soweit genau, wie ich mir das bis jetzt vorgestellt habe, nur klappt das mit dem Dropdown noch nicht, wie ich das gerne hätte. Und da könntest Du ins Spiel kommen Thorsten ;-) Datumsbereich ist A10-A375. Beim Monatswechsel aktualisiert sich das Listenfeld automatisch, was ich absolut genial finde. Was jetzt noch fehlt ist, das beim Monatswechsel alles ausser dem aktuellen Monat aus geblendet wird. Wenn ich jedoch für die Auswertung einen Monat aus dem Listenfeld auswähle, soll natürlich auch nur dieser Monat angezeigt werden. Ich habe mittlerweile soviele Lösungen, die für sich alleine funktionieren, jedoch noch nicht das NonplusUltra waren(mit Sortierfunktion, ohne ect.). Leider habe ich als Lokführer(Streiks, Krank ect.) momentan nicht die Zeit und Ruhe, mich mit allen Lösungen intensiv zu befassen. Selbst das simple Makro, welches ich erstellt habe, schaffe ich momentan nicht, anzupassen(nur die Zeilen ausblenden, die leer sind).

Lg Frank


AW: Datumsformel im Kalender
01.05.2023 19:11:02
Alwin WeisAngler
Hallo Frank,

da hier eh schon Code von mir drin ist dann auch noch der Rest.
DropDown "Auswahl" zeigt alles Zeilen der Tabelle
Bei Auswahl eines Monats (DropDown) werden alle nicht zum Monat gehörenden Zeilen ausgeblendet.
Die ursprünglich gewünschte Funktion, ein Datum aus der Liste auswählen stellt den DropDown auf dem im Datum enthaltenen Monat ein, bleibt erhalten.
https://www.herber.de/bbs/user/158992.xlsm
Gruß Uwe


AW: Datumsformel im Kalender
02.05.2023 12:46:37
Frank
Hallo Uwe,
vorab vielen Dank für deine Mühe, aber genau das habe ich schon als Lösung und kann es nicht gebrauchen. Ich hätte vielleicht etwas weiter ausholen sollen. Diese Datei bzw. eine Kopie davon(nicht ganz so komplex) wird parallel von meinem Sohn benutzt. Da er ein Asperger-Authist ist, wäre er mit(für ihn) so einer Flut an Daten völlig überfordert. Er stürzt schon in ein Chaos, wenn ich ihm sage, er soll sein Zimmer aufräumen. Klingt komisch, ist aber so. Egal, es nunmal so. Wenn Du dir meine hochgeladenen Datei mal anschaust und mit dem Cursor in Spalte B des 28.02 gehst und dann mit der ENTER-Taste weiter bis Spalte p, wirst du sehen, dass die nächste Zeile eingeblendet wird, der 01. März erscheint und das Listenfeld sich automatisch aktualisiert. Bis hierher klappt alles genau so, wie es sein soll. Was nun fehlt ist, dass der vorangegangene Monat ausgeblendet wird, so das quasi nur noch der 01. März zu sehen ist. Wenn ich dann über das Listenfeld zum Beispiel den Februar für die Stundenkontrolle auswähle, dann soll auch nur der Februar eingeblendet werden. Das habe ich in deiner Lösung gestern spät Abends noch irgendwie hinbekommen, aber Excel reagiert ziemlich langsam, so dass es wohl doch noch nicht ganz richtig ist. Ich hoffe, ich habe mich verständlich ausgedrückt.
Lg Frank


AW: Datumsformel im Kalender
02.05.2023 13:51:01
Alwin WeisAngler
tausche diese Prozedur aus:


Sub AuswahlMonat()
    Dim i&
    Application.ScreenUpdating = False
    With Tabelle2
        .Rows("10:375").EntireRow.Hidden = False
        For i = 10 To .Cells(Rows.Count, 1).End(xlUp).Row
            If Format(.Cells(i, 1), "mmmm") > .Cells(9, 1) Then .Rows(i).EntireRow.Hidden = True
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
Zumindest gehts dann erst mal drastisch schneller.
Aber was verstehst du unter Listenfeld? In deiner Datei gibt es Keines. Da gibt es nur ein paar Tabellen und etwas Code.
Listenfelder sind ListBoxen entweder als Control im Userform oder als Active-X Element auf dem Tabellenblatt.
Gruß Uwe


AW: Datumsformel im Kalender
02.05.2023 16:04:19
Frank
Hallo Uwe,
ich bin jetzt davon ausgegangen, das mein DropDown-Feld, welches sich in A9 befindet, umgangssprachlich auch Listenfeld genannt wird, zumal ich das auch bei einigen YouTube Videos gehört habe(abhängiges Listenfeld ect.). Und da es ja eine Liste enthält habe ich angenommen, es hätte schon seine Richtigkeit. Also bezieht sich mein Anliegen auf das DropDown-Feld um es richtig auszudrücken.
Gruß Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige