Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1804to1808
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

Urlaubskalender Bedingte Formatierung

Urlaubskalender Bedingte Formatierung
10.01.2021 12:12:20
Herbi
Hallo in´s Forum,
ich habe eine Bitte. In der anhängenden Excel-Datei, habe ich einen Urlaubskalender. Dieser wird befüllt, für die Urlaubszeit, mit den Daten aus dem Sheet "Urlaubsantrag". In das Datenblatt "Januar", vorerst das Erste das mit diesen Datengefüllt wird, die Urlaubszeit eingetragen und die entsprechenden Tage im Kalenderblatt mit "bedingter Formatierung" "grün" eingefärbt. Für Januar bedeutet dies die Zeile "G7:AK7".
Nun mein Problem:
Damit ich die Tage zählen kann, wäre der Buchstabe "G" einzutragen. Erst dann werden die Urlaubstage berechnet:
Dies hängt auch mit dem Resturlaub, dem Sonderurlaub und Kranktagen zusammen.
Siehe Formeln.
Welche Möglichkeiten habe ich, damit mir dies automatisch geschieht?
Mit dieser Formel werden die "G" in den Bereich G7:AK7 eingetragen, aber halt auch an den Feiertagen!
=WENN(
UND(ODER(
UND(G$5>=Urlaubsantrag!$C$2;G$5=Urlaubsantrag!$C$3;G$5=Urlaubsantrag!$C$4;G$5=Urlaubsantrag!$C$5;G$5=Urlaubsantrag!$C$6;G$5

Das ist das Problem.
Danke für die Lösungsansätze.
https://www.herber.de/bbs/user/142894.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 12:29:44
onur
"Mit dieser Formel werden die "G" in den Bereich G7:AK7 eingetragen" ?
Da sind keine Formeln in G7:AK7.
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 12:35:09
Herbi
Hallo Onur.
die habe ich wieder rausgenommen.
Dazu muss nur die Formel in die Zelle G7 kopiert werden und dann bis AK7 kopieren.
Sorry, hatte dies nach dem "Nichtklappen" wieder rausgenommen.
Danke
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 12:49:25
onur
Und das soll ICH machen, damit ich dir helefen darf?
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 13:05:43
Herbi
Hallo Onur,
natürlich nicht.
Vielleicht habe ich mich auch nicht verständlich genug ausgedrückt.
Also, wenn du in die Zelle G7:AK31, ein "G" eingibst, wird der Urlaubstag gezählt und die Zelle "grün" eingefärbt. Die Tage werden korrekt gezählt.
Was ich erreichen will, mit dieser Formel, ist, dass nach mir nach Eingabe des Datum-Bereichs aus dem Sheet "Urlaubsantrag" das "G" automatisch eingetragen wird. Und nicht, dass nur die Zellen grün eingefärbt werden.
Anzeige
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 14:24:43
JoWE
Hallo Herbi,
versuch mal in Januar G7:
=WENN(UND(WOCHENTAG(G$5;2)<6;G$5>=Urlaubsantrag!$C2;G$5<=Urlaubsantrag!$D2);"G";"")
Gruß
Jochen
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 15:18:33
Herbi
Hallo Jochen,
leider nicht.
Wenn ich die Formel einsetze, kommt eine Fehlermeldung wo beim Wochentag (Zahl und Typ) bemängelt wird.
Danke für die Hilfe.
Lösung, siehe Antwort von Onur.
Herbi
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 14:35:23
onur
Besser ohne Formeln - nur VBA.
Das Makro wird aktiviert, sobald "Urlaub bis" eingetragen/verändert wird.
https://www.herber.de/bbs/user/142896.xlsm
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 15:11:19
Herbi
Hallo Onur,
Danke.
Perfekte Lösung.
Herbi
Anzeige
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 15:24:40
onur
Wenn du statt 12 Blätter nur EIN Blatt hättest, wäre alles vieeeel einfacher.
Hier eine Version, wo du auch den Urlaub stornieren kannst, indem du das "U" in Spalte A wegmachst.
Der Code reagiert jetzt auch auf Änderung von "Urlaub von".
https://www.herber.de/bbs/user/142899.xlsm
AW: Urlaubskalender Bedingte Formatierung
10.01.2021 17:09:23
Herbi
Hallo Onur,
ich kann mich nur bei dir bedanken.
Auch werde ich versuchen, dass Ganze zu erweitern.
Servus.
Gerne !
10.01.2021 17:35:31
onur
AW: Gerne !
10.01.2021 18:49:32
Herbi
Hallo Onur,
Sorry, muss leider etwas Wasser in den Wein gießen.
Und ich tue mir schwer den Code richtig zu lesen.
Folgendes Problem.
Gebe ich bei mehreren Mitarbeitern die "Datum´s" ein, werden mir in der Zeile G7:AK7 die Zellen grün eingefärbt. In beiden Dateien!
Wo kann ich diese ändern, dass dies nicht geschieht?
Und noch ne Frage zu den Variablen im Code: ze = Zeile und sp = Spalte?
Also hier: nam = Cells(ze, 2)
Meine Deutung: nam=Mitarbeiter in der Zeile und in der 2.Spalte?
Wäre super, du könntest nochmals eingreifen.
Danke.
Anzeige
AW: Gerne !
10.01.2021 19:02:10
onur
"Wo kann ich diese ändern, dass dies nicht geschieht?"
Das liegt an deinen bedingten Formatierungen.
Wieso hast du je ZWEI? Eines für Zellwert und eines nach Urlaubsantrag.
Lösche die zweiten.
Deine Deutungen sind korrekt.
AW: Gerne !
10.01.2021 19:05:47
Herbi
Oh, Danke.
AW: Gerne !
11.01.2021 09:11:47
Herbi
Guten Morgen Onur,
Da ich mit meinen bescheidenen VBA-kenntnissen nicht weiterkomme, benötige ich nochmals Hilfe.
Die Variable EINTRAG möchte ich erweitern um drei Kennzeichen, S für Sonderurlaub, H für Halber Tag Urlaub und A für Abwesend.
Was wäre hier der bessere Weg, eine Select Case oder eine IF Then Struktur.
Wie würdest du vorgehen?
Und, wie würde der Code aussehen, wenn ich mit einer Schaltfläche das Ereignis auslösen möchte?
Ich habe es zwar probiert, bin aber prompt in die Falle getappt. Meine Vermutung ist, dass ich erst das Blatt aktivieren muss und mich dann in eine Zeile im Bereich stellen muss. Ist dies Falsch oder Richtig?
Dankeschön
Anzeige
AW: Gerne !
11.01.2021 13:09:22
onur
"Was wäre hier der bessere Weg, eine Select Case oder eine IF Then Struktur." - Keines davon, der Code könnte einfach das übernehmen, was in Spalte A steht, aber man müsste das "S" für Storno durch z.B. "X" ersetzen.
"wenn ich mit einer Schaltfläche das Ereignis auslösen möchte" - nur noch manuell oder zusätzlich dazu?
Ich würde das Makro auf das DoppelklickEvent legen, dann bräuchtest du nur noch auf A, C oder D doppelzuklicken und der Code müsste nicht verändert werden (ausser Cancel=Tue am Ende)
AW: Gerne !
11.01.2021 13:21:47
JoWE
Hallo,
so vllt. für die verschiedenen Abwesenheitstypen:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ze As Long, sp As Long, vTyp As String
If Target.Column  4 Then Exit Sub
ze = Target.Row
sp = Target.Column
vTyp = InputBox("Bitte Art der Abwesenheit auswählen" & vbCr & vbTab & "H = Halbtags" & _
vbCr & vbTab & "A = Abwesend" & _
vbCr & vbTab & "G = Ganztags" & _
vbCr & vbTab & "K = Krank" & _
vbCr & vbTab & "S = Sonderurlaub" & _
vbCr & vbTab & "leer lassen für Abbruch", "Eingabe erforderlich", "G")
If sp  4 And sp  3 And sp  1 Then Exit Sub
If Cells(ze, 3) = "" Or Cells(ze, 4) = "" Then Exit Sub
If Not IsDate(Cells(ze, 3)) And Not IsDate(Cells(ze, 4)) Then Exit Sub
If Cells(ze, 3) > Cells(ze, 4) Or Cells(ze, 4) - Cells(ze, 3) > 100 Then Exit Sub
Dim von, bis, dat, nam, mon(12), mo, Eintrag
Eintrag = vTyp: If Cells(ze, 1)  "U" Then Eintrag = ""
nam = Cells(ze, 2)
von = Cells(ze, 3)
bis = Cells(ze, 4)
For dat = 1 To 12
mon(dat) = Format(DateSerial(2011, dat, 1), "MMMM")
Next
For dat = von To bis
ze = 0
mo = Month(dat)
sp = Day(dat) + 6
On Error Resume Next
ze = WorksheetFunction.Match(nam, Sheets(mon(mo)).Range("B1:B30"), 0)
On Error GoTo 0
If ze = 0 Then
MsgBox "Name existiert auf Blatt " & mon(mo) & " nicht!"
Exit Sub
End If
With Sheets(mon(mo)).Cells(ze, sp)
Select Case vTyp
Case Is = "H"
.Interior.Color = 15461599
Case Is = "G"
.Interior.Color = 5296274
Case Is = "S"
.Interior.Color = 65535
Case Is = "K"
.Interior.Color = 255
Case Is = "A"
.Interior.Color = 14143015
Case Else
.Interior.ColorIndex = xlNone
End Select
Debug.Print .DisplayFormat.Interior.Color
If Weekday(dat, 2) 
Was den 2. Teil Deiner Frage betrifft, würde ich von einer Commandbutton-Lösung abraten und eher zu einer Doppelklicklösung (Worksheet BeforeDoubleClick) auf den zu buchenden Eintrag raten.
Gruß
Jochen
Anzeige
AW: Gerne !
11.01.2021 13:59:20
herbi
Hallo Jochen,
perfekt.
Klappt wunderbar.
Kann ich wieder etwas lernen.
Dankeschön.
Herbi
AW: ich sag' auch: Gerne! Und Onur, sorry fürs Ein
11.01.2021 14:06:38
JoWE
AW: ich sag' auch: Gerne! Und Onur, sorry fürs Ein
11.01.2021 14:06:55
JoWE
AW: ich sag' auch: Gerne! Und Onur, sorry fürs Ein
11.01.2021 14:08:52
onur
Kein Ding - Musst ihm nur noch schreiben, dass er die bedForms alle löschen kann/soll. :)
AW: ich sag' auch: Gerne! Und Onur, sorry fürs Ein
11.01.2021 14:54:38
Herbi
Hallo Onur, ok. Lösch alle bedForms...
Danke ihr Zwei.😀

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige