Supportnet / Forum / Tabellenkalkulation
Kalenderdaten automatisch übertragen
Frage
Hallo!
Ich wüsste gerne, ob man das Datum bzw. den Tag automatisch zuweisen kann (incl. Feiertage), wenn man an einem Zentralen punkt nur den Monat eines Jahres angibt.
Beispiel:
Ich gebe Felder 1 und 2 vor!
Feld1: Januar
Feld2: 2007
Der Rest wird automatisch verteilt.
Feld3: Montag
Feld4: 01.01.2007
Feld5: Dienstag
Feld6:02.01.2007
(...)
bis Freitag, dann wieder Montag.
Wäre nett, wenn jemand helfen könnte!
Grüße Iowa
Antwort 1 von coros
Hi lowa,
mit nachfolgendem Makro, dass Du in ein StandardModul kopieren und dann über z.B. eine Befehlsschaltfläche starten solltest, sollte das was Du Dir vorgestellt hast, realisiert werden können.
Für dieses Makro muss in Zelle A1 der Monat und in Zelle A2 das Jahr eingetragen werden. Wenn es ausgeführt wird, ermittelt das Makro zu den Daten aus A1 und A2, ob der Monat 28, 29,30 oder 31 Tage hat. Mit diesen Wert werden dann die Tage ohne Samstage und Sonntage ab Zelle A3 aufgelistet.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit nachfolgendem Makro, dass Du in ein StandardModul kopieren und dann über z.B. eine Befehlsschaltfläche starten solltest, sollte das was Du Dir vorgestellt hast, realisiert werden können.
Option Explicit
Sub Tage_auflisten()
Dim Datum As Date
Dim Monate As Integer
Dim Ergebnis_Datum As Integer
Dim Wert As Integer, RowStart As Integer, i As Integer
Dim Weekday As String
Rem: Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
Rem: Aus den Werten in Zelle A1 und A2 ein Datum erzeugen und in Variable "Datum" schreiben
Datum = CDate("01." & Range("A1") & "." & Year(Now))
Monate = 12
Rem: Anzahl an Kalendertagen für den Monat aus Zelle A1 ermitteln und in Variable "Ergebnis_Datum" schreiben
Ergebnis_Datum = Format(DateSerial(Year(Datum), Month(Datum) - (Monate - 1), 1) - 1, "dd")
Rem: Bereich A3:A48 für neue Anzeige löschen
Range("A3:A48").ClearContents
Rem: In Variable "RowStart" den Wert 3 abspeichern
RowStart = 3
Rem: Schleife zum Auflisten der Datumswerte und den Tagesnamen.
Rem: Anzahl der Schleifendurchläufe setzt sich aus der Differenz der Zahl 1
Rem: zu dem Wert aus Variable "Ergebnis_Datum" zusammen
For i = 1 To Ergebnis_Datum
Rem: Den Tagesnamen, der durch die Schleife erzeugt werden würde ermitteln und in Variable "Weekday" schreiben
Weekday = Format(CDate(i & "." & Range("A1") & "." & Year(Now)), "dddd")
Rem: Abfrage: Wenn Variable "Weekday" nicht den Wert "Samstag" oder "Sonntag" enthält...
If Weekday <> "Samstag" And Weekday <> "Sonntag" Then
Rem: ...in der Zeile, die durch den Wert aus Variable "RowStart" vorgegeben wird, den Tagesnamen ausgeben und...
Cells(RowStart, 1) = Format(CDate(i & "." & Range("A1") & "." & Year(Now)), "dddd")
Rem: ...eine Zeile darunter das Datum ausgeben und...
Cells(RowStart + 1, 1) = CDate(i & "." & Range("A1") & "." & Year(Now))
Rem: die Variable "RowStart" um die Zahl 1 erhöhen
RowStart = RowStart + 2
Rem: Abfrage Ende
End If
Rem: nächsten Schleifendurchlauf starten
Next
End Sub
Für dieses Makro muss in Zelle A1 der Monat und in Zelle A2 das Jahr eingetragen werden. Wenn es ausgeführt wird, ermittelt das Makro zu den Daten aus A1 und A2, ob der Monat 28, 29,30 oder 31 Tage hat. Mit diesen Wert werden dann die Tage ohne Samstage und Sonntage ab Zelle A3 aufgelistet.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Saarbauer
Hallo,
versuch es mal damit
=WAHL(WOCHENTAG(A2);"Sonntag";"Montag";"Dienstag";"Mittwoch";"Donnerstag";"Freitag";"Samstag")
anstelle von A2 ist deine Zellbezeichnung einzusetzen
Gruß
Helmut
versuch es mal damit
=WAHL(WOCHENTAG(A2);"Sonntag";"Montag";"Dienstag";"Mittwoch";"Donnerstag";"Freitag";"Samstag")
anstelle von A2 ist deine Zellbezeichnung einzusetzen
Gruß
Helmut
Antwort 3 von Iowa
Schönen Dank schonmal für die schnelle Hilfe. Kann das Makro zur Zeit noch nicht testen, melde mich aber sobald Probleme auftreten oder alles super klappt!
Besten Dank
Iowa
Besten Dank
Iowa
Antwort 4 von Iowa
Ok, vom Prinzip her funktioniert das Makro schon super! Allerdings habe ich leichte Probleme beim umschreiben bzw. hätte noch den einen oder anderen Verbesserungsvorschlag:
Was müsste ich ändern, wenn ich nicht zwei Variablen (Monat und Jahr) sondern ein direktes Datum eingebe.
Feld W1: 01.01.2007
Und spielt die Formatierung eine Rolle? Ich möchte das Datum nicht wie oben angezeigt bekommen sondern mit der Formatierung Jan 07 (MMM JJ)
Die Tage sollen auch als Mo., Di., ... Fr. und das Datum der Tage 01.01, 02.01, ... in den Spalten A12 B12 dann wieder A17 B17, A22 B22 usw angezeigt werden.
Wäre es möglich in der Spalte unter dem Datum ... also B13, B18, usw. anzuzeigen, ob der Tag ein Feiertag ist?
Danke nochmal für die tolle Hilfe!
Grüße Iowa
Was müsste ich ändern, wenn ich nicht zwei Variablen (Monat und Jahr) sondern ein direktes Datum eingebe.
Feld W1: 01.01.2007
Und spielt die Formatierung eine Rolle? Ich möchte das Datum nicht wie oben angezeigt bekommen sondern mit der Formatierung Jan 07 (MMM JJ)
Die Tage sollen auch als Mo., Di., ... Fr. und das Datum der Tage 01.01, 02.01, ... in den Spalten A12 B12 dann wieder A17 B17, A22 B22 usw angezeigt werden.
Wäre es möglich in der Spalte unter dem Datum ... also B13, B18, usw. anzuzeigen, ob der Tag ein Feiertag ist?
Danke nochmal für die tolle Hilfe!
Grüße Iowa
Antwort 5 von Iowa
@Saarbauer: Als Abfrage funktioniert das natürlich auch, aber ich hatte es schon so, wie in dem Makro gemeint! Vielen Dank trotzdem.
Iowa
Iowa
Antwort 6 von coros
Hallo lowa,
sorry, aber was Du da schreibst, sind keine Verbesserungsvorschläge, sondern Änderungen zu Deiner Frage. Wobei ich nur einen Teil davon verstehe.
Das habe ich noch verstanden. Aber bei
gehts los. Wo soll denn bitte das Format "mmm/jj" angewendet werden? In welchen Zellen soll denn nachher Jan/07 stehen? Musst du mal aufklären. Dann geht’s weiter mit
Wie sollen denn 5 Werktage in die Zellen A12 und B12, dann A17 B17 usw. geschrieben/ aufgeteilt werden. Den Punkt musst Du wohl auch etwas besser erklären. Den Schluß mit
habe ich nur soweit verstanden, dass unterhalb einer Zelle angezeigt werden soll, wenn es sich um einen Feiertag handelt, aber das mit den Zellen B13 und B18 verhält sich genauso wie meine Frage vorher und muss näher erläutert werden.
Also Abschließend nochmal ein Hinweis: Eine genaue Beschreibung des Problems/ der Aufgabe bringt in der Regel ein vernünftiges Ergebnis. Bei solchen Beschreibungen wie aus Deiner Antwort 4 kommt eher Verwirrung und eine Menge Fragen auf.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
sorry, aber was Du da schreibst, sind keine Verbesserungsvorschläge, sondern Änderungen zu Deiner Frage. Wobei ich nur einen Teil davon verstehe.
Zitat:
Was müsste ich ändern, wenn ich nicht zwei Variablen (Monat und Jahr) sondern ein direktes Datum eingebe.
Feld W1: 01.01.2007
Was müsste ich ändern, wenn ich nicht zwei Variablen (Monat und Jahr) sondern ein direktes Datum eingebe.
Feld W1: 01.01.2007
Das habe ich noch verstanden. Aber bei
Zitat:
Und spielt die Formatierung eine Rolle? Ich möchte das Datum nicht wie oben angezeigt bekommen sondern mit der Formatierung Jan 07 (MMM JJ)
Und spielt die Formatierung eine Rolle? Ich möchte das Datum nicht wie oben angezeigt bekommen sondern mit der Formatierung Jan 07 (MMM JJ)
gehts los. Wo soll denn bitte das Format "mmm/jj" angewendet werden? In welchen Zellen soll denn nachher Jan/07 stehen? Musst du mal aufklären. Dann geht’s weiter mit
Zitat:
Die Tage sollen auch als Mo., Di., ... Fr. und das Datum der Tage 01.01, 02.01, ... in den Spalten A12 B12 dann wieder A17 B17, A22 B22 usw angezeigt werden.
Die Tage sollen auch als Mo., Di., ... Fr. und das Datum der Tage 01.01, 02.01, ... in den Spalten A12 B12 dann wieder A17 B17, A22 B22 usw angezeigt werden.
Wie sollen denn 5 Werktage in die Zellen A12 und B12, dann A17 B17 usw. geschrieben/ aufgeteilt werden. Den Punkt musst Du wohl auch etwas besser erklären. Den Schluß mit
Zitat:
Wäre es möglich in der Spalte unter dem Datum ... also B13, B18, usw. anzuzeigen, ob der Tag ein Feiertag ist?
Wäre es möglich in der Spalte unter dem Datum ... also B13, B18, usw. anzuzeigen, ob der Tag ein Feiertag ist?
habe ich nur soweit verstanden, dass unterhalb einer Zelle angezeigt werden soll, wenn es sich um einen Feiertag handelt, aber das mit den Zellen B13 und B18 verhält sich genauso wie meine Frage vorher und muss näher erläutert werden.
Also Abschließend nochmal ein Hinweis: Eine genaue Beschreibung des Problems/ der Aufgabe bringt in der Regel ein vernünftiges Ergebnis. Bei solchen Beschreibungen wie aus Deiner Antwort 4 kommt eher Verwirrung und eine Menge Fragen auf.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von Aliba
Hi ,
habe den gewünschten Aufbau auch nicht so recht verstanden, da ja A12/B12 bis A17/B17 mit den Werktagen gefüllt sind, wo passt da noch der Feiertag darunter?
Diesen lasse ich jetzt mal in Spalte C schreiben.
Hier die Beispieldatei zum Downloaden:
[/url]http://www.netupload.de/detail.php?img=a7d68507cd0052796f5dfbf32e18c3fe.xls
CU Aliba
habe den gewünschten Aufbau auch nicht so recht verstanden, da ja A12/B12 bis A17/B17 mit den Werktagen gefüllt sind, wo passt da noch der Feiertag darunter?
Diesen lasse ich jetzt mal in Spalte C schreiben.
Hier die Beispieldatei zum Downloaden:
[/url]http://www.netupload.de/detail.php?img=a7d68507cd0052796f5dfbf32e18c3fe.xls
CU Aliba
Antwort 8 von Iowa
Mhm, wollte Euch nicht verwirren ... und du hast natürlich recht ... es sind ein paar Änderungen ... also versuche ich es noch mal:
Punkt1:
In Feld W1 soll das Datum eingegeben werden in der Form:
01.02.2007
Angezeigt werden soll das Datum dann aber:
Feb 07
Das meinte ich mit "Formatierung". MMM JJ ist einfach eine Benutzerdefinierte Formatierung. Damit man schnell und übersichtlich direkt weiß auf welchen Monat sich der spätere Ausdruck bezieht. Steht halt oben auf dem Zettel drauf.
Punkt2:
Im Prinzip sollen 5 zeilen übersprungen werden, sprich in Zelle A12 steht der erste Montag (Schreibweise "Mo.") in B12 steht das dazugehörige Datum ("01.02.") und in B13 soll "Feiertag" stehen, wenn es denn einer ist.
Dann soll 5 Zeilen weiter (also A17 ... B17 ... C18) das gleiche mit dem nächsten Wochentag passieren. Ich habe 3 Freizeilen zwischen den Wochentagen um noch Platz für Kommentare zu haben + der Zeile für "Feiertag". Deshalb der 5-Zeilen-Sprung!
Zur Zeit habe ich für den Wochentag eine Dropdown-Liste, das Datum muss ich mit der hand eingeben und unter dem Datum kann ich in einer Dropdownliste zwischen Feiertag, und anderen Auswahlmöglichkeiten wählen. Wenn ich nur noch das Datum eingeben würde und die Liste sich dann automatisch mit den richtigen Werktagen und dem dazugehörigen Datum füllen könnte wäre das eine tolle Sache, die mich sonst sehr nervige Zeit kostet.
Das mit dem Feiertag ist vielleicht nicht so wichtig bzw. funktioniert vielleicht auch nicht richtig es sei denn, man kann trotzdem noch zwischen den anderen Auswahlmöglichkeiten wählen.
So, ich hoffe das war etwas verständlicher. Die neue Excel-Datei kann ich mir leider erst heute Abend ansehen.
Grüße Iowa
Punkt1:
In Feld W1 soll das Datum eingegeben werden in der Form:
01.02.2007
Angezeigt werden soll das Datum dann aber:
Feb 07
Das meinte ich mit "Formatierung". MMM JJ ist einfach eine Benutzerdefinierte Formatierung. Damit man schnell und übersichtlich direkt weiß auf welchen Monat sich der spätere Ausdruck bezieht. Steht halt oben auf dem Zettel drauf.
Punkt2:
Im Prinzip sollen 5 zeilen übersprungen werden, sprich in Zelle A12 steht der erste Montag (Schreibweise "Mo.") in B12 steht das dazugehörige Datum ("01.02.") und in B13 soll "Feiertag" stehen, wenn es denn einer ist.
Dann soll 5 Zeilen weiter (also A17 ... B17 ... C18) das gleiche mit dem nächsten Wochentag passieren. Ich habe 3 Freizeilen zwischen den Wochentagen um noch Platz für Kommentare zu haben + der Zeile für "Feiertag". Deshalb der 5-Zeilen-Sprung!
Zur Zeit habe ich für den Wochentag eine Dropdown-Liste, das Datum muss ich mit der hand eingeben und unter dem Datum kann ich in einer Dropdownliste zwischen Feiertag, und anderen Auswahlmöglichkeiten wählen. Wenn ich nur noch das Datum eingeben würde und die Liste sich dann automatisch mit den richtigen Werktagen und dem dazugehörigen Datum füllen könnte wäre das eine tolle Sache, die mich sonst sehr nervige Zeit kostet.
Das mit dem Feiertag ist vielleicht nicht so wichtig bzw. funktioniert vielleicht auch nicht richtig es sei denn, man kann trotzdem noch zwischen den anderen Auswahlmöglichkeiten wählen.
So, ich hoffe das war etwas verständlicher. Die neue Excel-Datei kann ich mir leider erst heute Abend ansehen.
Grüße Iowa