Hallo für mein Dienstplan (Schicht) habe ich mir eine Excel Tabelle gebaut (s. Anhang), nun möchte ich nicht jedes mal den Zeitstrahl selber mahlen müssen, sondern unter Arbeitszeit einfach nur die Zeit eingeben wie
09:00 - 17:00
und der Zeitstrahl soll farblich automatisch "gemalt" werden, geht das mit Excel und wenn ja wie, für die Hilfe bin ich schon jetzt Dankbar.
Gruß lordilein
[
attachment=5064]
Hola,
das geht mit der bedingten Formatierung.
Leider kann man auf dem Bildchen nicht erkennen, wo und wie du deine Arbeitszeit eingibst. Eine Datei wäre da hilfreicher.
Gruß,
steve1da
Moin,
du solltest aber in jedem Fall die Arbeitszeit getrennt nach Start und Ende eingeben, also in 2 Zellen. Das erleichtert die Auswertung. Und sind es immer "glatte" Stundenzahlen für Beginn und Ende?
Hallo, erst mal Danke für Eure Antworten, ich habe den Vorschlag von GMG aufgenommen und jeweils eine Star und Endzeit Zeile eingefügt.
Wie geht das mit bedingter Formatierung?
[
attachment=5071]
Hola,
ich wiederhole die Bitte nach einer Beispieldatei.
Alternativ zum selber Basteln, als Formel in der bedingten Formatierung:
Code:
=(STUNDE(D$1)>=$B2)*(STUNDE(D$1)<=$C2)
Gruß,
steve1da
Moin,
ohne Nachtschicht (über Mitternacht hinaus) ist Steves Lösung besser geeignet als meine, weil mehr "Automatismus". Mit Nachtschicht sollte dieser Code die Basis-Anforderungen erfüllen:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZe As Range, rngSE As Range, TRow As Integer
Dim S As Integer, E As Integer, NextDay As Boolean
TRow = Target.Row
Set rngSE = Range("D" & TRow & ":E" & TRow)
Set rngZe = Range("D" & TRow & ":AA" & TRow)
If WorksheetFunction.Count(Cells(TRow, 2), Cells(TRow, 3)) = 2 Then
S = Cells(TRow, 2)
E = Cells(TRow, 3)
If Not Intersect(Range("B2:C32"), Target) Is Nothing Then
rngZe.ClearFormats
NextDay = E < S
If Not NextDay Then
Range(Cells(TRow, S + 3), Cells(TRow, E + 3)).Interior.Color = RGB(255, 0, 0)
Else
Range(Cells(TRow, S + 3), Cells(TRow, "AA")).Interior.Color = RGB(255, 0, 0)
Range(Cells(TRow + 1, 4), Cells(TRow + 1, E + 3)).Interior.Color = RGB(255, 0, 0)
End If
End If
End If
End Sub
Das lässt sich noch optimieren, aber als Einstieg reicht es trotz der kleinen Fehlerchen.
ich lade mal meine Excel hoch, wie gewünscht.
Hi lordi,
mein Vorschlag zu deiner Frage Beitrag #4
[
Bild bitte so als Datei hochladen: Klick mich!]
[
Bild bitte so als Datei hochladen: Klick mich!]
@
[b]WillWissen[/b]
danke für den Vorschlag, mal sehen ob ich das so umsetzen kann anhand der Bilder Danke.
Hallo Günter, warum "arbeitest" du hier mit STUNDE()..? ... in der Datei sind doch jeweils richtige Zeiten eingegeben. Hie würde dann ja =(D$5>=$B6)*(D$5<=$C6) reichen... ... obwohl ich mich frage, was passieren soll, wenn das aussehen soll, bei einer Arbeitsstunde (z.B. von 1:00 bis 2:00 oder 7:00 bis 8:00)
Arbeitsblatt mit dem Namen 'Sheet1 (2)' |
| B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
5 | Arbeitszeit | 1:00 | 2:00 | 3:00 | 4:00 | 5:00 | 6:00 | 7:00 | 8:00 | 9:00 | 10:00 | 11:00 | 12:00 | 13:00 | 14:00 |
6 | 1:00 | 2:00 | | | | | | | | | | | | | | |
7 | 7:00 | 8:00 | | | | | | | | | | | | | | |
8 | | | | | | | | | | | | | | | | |
9 | 5:00 | 13:00 | | | | | | | | | | | | | | |
Zelle | bedingte Formatierung... | Format |
D6 | 1: =(D$5>=$B6)*(D$5<=$C6) | abc |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |