Feiertage in Dienstplan
#1
Hallo!
Brauche eure hilfe mal wieder!
Habe einen Dienstplan von einen bekanten bekommen, dieser hat früher die Dienstpläne geschrieben.
Da er dies aber nicht mehr machen soll, habe ich es aufgedrückt bekommen und muß sehen wie ich damit klar komme.
Keine Hilfe mehr vom vorgänger!
In dieser Datei sind keine Feiertage berücksichtigt, darum brauche ich was um die Feiertage einzutragen
Für die Feiertage habe ich mir was im Netz gesucht. Soweit so gut.
Der aufbau ist so:
Es gibt 6 TabellenBlätter immer so bezeichnet Januar_Februar, März_April usw. Dienstplan immer für 2 Monate.
Dann ein TabellenBlatt Daten, hier stehen auch die gesetzlichen Feiertage.
Wo ich das problem habe ist die Feiertage automatisch einzutragen

Das was ich jetz möchte ist das die gesetzlichen Feiertage Automatisch in die TabellenBlätter Januar_Februar, März_April usw. aus dem TabellenBlatt Daten eingetragen werden wenn möglich noch Farblich hinterlegt.

Wer kann mir da weiter helfen oder Tipp's geben?


Angehängte Dateien
.xlsm   Thekendienst normal.xlsm (Größe: 176,6 KB / Downloads: 6)
mfg
Michael
:98:

WIN 10  Office 2019
Top
#2
Hola,

wenn es nur um Formel geht, lade bitte eine xlsx Datei hoch.

Gruß,
steve1da
Top
#3
Hallo!
Ja es sind auch noch Makros da, die vieleicht noch gebraucht werden.
Nur im moment brauche ich sie noch, deswegen erstmal dies Beispiel.
Für die Lösung können es Formeln sein oder auch ein VBA Beispiel


Ich hoffe du kannst helfen.
mfg
Michael
:98:

WIN 10  Office 2019
Top
#4
Hallo,

warum so ein kleinteiliger Aufbau? Die Tabellenblätter in Excel sind so groß, dass da viele Jahre drauf passen. Das vereinfacht das Eintragen von Diensten und Feiertagen ganz enorm.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
Hallöchen,

schaue mal in unseren Beispielbereich
http://www.clever-excel-forum.de/Forum-ohne-VBA

Da sind so 3-4 Beiträge zu diesem Thema.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#6
Hallo!
Danke für das intresse!
@Klaus-Dieter

Zitat:warum so ein kleinteiliger Aufbau? Die Tabellenblätter in Excel sind so groß, dass da viele Jahre drauf passen. Das vereinfacht das Eintragen von Diensten und Feiertagen ganz enorm.

Wenn ich das wüsste warum er das so aufgeteilt? Wie schon oben gesagt bekomme ich keine hilfe mehr!
Die Pläne werden für 2 Monate ausgedruckt.
Ich gehe aber mal davon aus das er deswegen das so gemacht hat.
Man kann ja alles ändern und verbessern!
@schauan
Das ist toll, aber das habe ich ja schon im Daten blatt

Es soll ja auf die Datei umgebaut werden. So das ich gleich in den Tabellenblättern sehe, da ist ein Feiertag (in Hessen).
Was ich vergessen habe ist das der Feiertag in Bemerkung eingetragen wird und die Zellen farblich sind.

Ob es dafür eine Formel oder VBA Lösung gibt?
mfg
Michael
:98:

WIN 10  Office 2019
Top
#7
Hallo,

habe mir das mal genauer angesehen, da es in den Spalten für die Bemerkungen Datenprüfungen gibt, wird man das nur per VBA automatisieren können.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#8
Hallo Klaus-Dieter!
Wie könnte den so etwas dann aussehen?
Auch wie schon gesagt man kann alles anders machen.
Für jeden Vorschlag bin ich sehr Dankbar!
mfg
Michael
:98:

WIN 10  Office 2019
Top
#9
Hallo,

versuche es mal mit diesem Makro in deiner Datei.


Code:
Option Explicit

Sub feiertag()
   Dim intAnz As Integer
   Dim strNam As String
   Dim intMon As Integer
   Dim intTg As Integer
   Dim intSpa As Integer
   Dim varMonArr As Variant
   varMonArr = Array("Januar_Februar", "Januar_Februar", "März_April", "März_April", "Mai_Juni", "Mai_Juni", "Juli_August", "Juli_August", "September_Oktober", "September_Oktober", "November_Dezember", "November_Dezember")
   For intAnz = 2 To 20
       If Tabelle7.Cells(intAnz, 21) = "X" Then
           strNam = Tabelle7.Cells(intAnz, 17)
           intMon = Month(Tabelle7.Cells(intAnz, 19))
           If intMon Mod 2 = 1 Then intSpa = 4 Else intSpa = 9
           intTg = Day(Tabelle7.Cells(intAnz, 19))
          Sheets(varMonArr(intMon - 1)).Cells(4 + intTg, intSpa) = strNam
       End If
   Next intAnz
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#10
Hallo Klaus-Dieter!
Das war sehr nützlich!
Danke!
mfg
Michael
:98:

WIN 10  Office 2019
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste