juweee
Goto Top

Excel: NettoArbeitstage und Teilergebnis kombinieren u.a

Hallo und Guten Morgen
In meiner beiliegenden Dienstplan-Vorlage, die ich vor ein paar Tagen begonnen habe zu erstellen, hänge ich bei den Arbeitstagen je Monat (nur eingeblendete Bereiche) etwas fest.
Auch die Performance beim Anzeigen der geleisteten Stunden nach dem Monatswechsel lässt etwas zu wünschen übrig, die Aktualisierung dauert gefühlt 1-2 sec.

Aktuell stellt sich mir die Frage: Wie kann ich die Formeln für die NettoArbeitstage.Intl mit Teilergebnis kombinieren, damit auch tatsächlich nur die Arbeitstage des jeweils ausgewählten Monats angezeigt werden bzw. bei der Jahresansicht (GA) die Arbeitstage des gesamten Jahres?
Wer testen möchte: In Zelle A3 zunächst die Arbeitszeiten auswählen, dann in der jeweiligen Spalte mit dem Header A (nur dort!) die Zellen markieren in denen die Arbeitszeit eingetragen werden soll, anschl. F2 drücken - fertig face-smile

Zwei weitere Problem sind die Toogles "Soll" und "Ist", die sich bestenfalls gegenseitig ausschließen sollten. Es macht ja keinen großen Sinn sowohl Soll als auch Ist auszublenden. Das andere betrifft die aktivierung von GA, was das gesamte Jahr anzeigt bzw. ausgeblendete Zeilen wieder einblendet. Hier wäre es cool wenn statt dem zuvor angezeigten Monat ein Test wie z.B. "Jahresansicht" steht.

Spannend wäre auch für jeden Mitarbeiter in Zeile 3 für seinen Bereich "Ist" ein eigenes Login zu verpassen.
Insgesamt würde ich die Tabelle gerne bestmöglich schützen

Insgesamt stehe ich mit dem Projekt ziemlich am Anfang, doch muß ich auch zugeben, daß ich schon 2 jahre nicht mehr in diese Richtung gemacht habe und das Projekt sich an einem alten Entwurf anlehnt.
Daher freu ich mich über jeden Tipp und Rat, der hilft das Teil vernünftig und ansehlich zum Ende zu bringen.
Wenn es also sonst noch Ideen gibt wie z.B. Über\Unterstunden, Anzahl Krank, Frei, Urlaub usw. gerne her damit ;)

VG und vielen Dank im Voraus, Juweee

https://www.dropbox.com/sh/nnp7cgyb9wzsuzh/AABNtq3n0kqA_f_WTxOvwW68a?dl= ...

Content-Key: 361103

Url: https://administrator.de/contentid/361103

Printed on: April 25, 2024 at 16:04 o'clock

Member: eisbein
eisbein Jan 15, 2018 updated at 10:58:42 (UTC)
Goto Top
Hallo!

zumal ich ein paar Jahre im IT-Bereich (mehr Consulting) gearbeitet habe

Du gefällst mir immer mehr face-smile face-smile

Kannst du evtl. ein paar Screenshots deiner Tabelle einfügen, nicht jeder klickt gerne auf fremde Links um sich *etwas* herunter zu laden face-wink

Gruß
eisbein

Edit: Access kommt für dich nicht in Frage?!
Member: Juweee
Juweee Jan 15, 2018 updated at 14:55:57 (UTC)
Goto Top
Moin Eisbein,
ich hoffe das "gefallen" ist jetzt nicht ironisch gemeint ;)
Da ich hier keinen Hinweis gefunden habe eine Datei hochzuladen fiel mir auf die schnelle nur ein Dropbox-Link ein.
Den Ordner hab ich extra für diesen Zweck erstellt und es liegt auch nur die XLSM (als zip) drin.
Gruß, Juweee
Member: eisbein
eisbein Jan 15, 2018 updated at 17:56:41 (UTC)
Goto Top
Da ich hier keinen Hinweis gefunden habe eine Datei hochzuladen

Wenn du nun auf Kommentieren klickst und dann die Symbole links neben dem Eingabefeld betrachtest, dann fällt dir das Letzte in der Reihe "Bild hinzufügen" sicherlich auf - damit kannst du dann deine Screenshots oder andere Bilder mit uns allen teilen. face-wink

Den Ordner hab ich extra für diesen Zweck erstellt und es liegt auch nur die XLSM (als zip) drin.

Schade um die Arbeit die du dir gemacht hast. Ich werde es dennoch nicht herunter laden face-smile

Ernste Grüße
eisbein
Member: eisbein
eisbein Jan 18, 2018 at 14:40:30 (UTC)
Goto Top
Hallo!

Ich hoffe ich habe dich mit meiner Download-Verweigerung nicht verschreckt - das hat persönliche Sicherheitsgründe.

Falls du dennoch an Unterstützung interessiert bist, lass es uns wissen.

Gruß
eisbein
Member: Juweee
Juweee Jan 18, 2018 at 15:35:29 (UTC)
Goto Top
Klar bin ich das face-smile
Die Frage ist letztlich nur, wie kommt das Excel-File "von A nach B"? ;)
Gruß, Juweee
Member: eisbein
eisbein Jan 18, 2018 at 15:47:27 (UTC)
Goto Top
face-smile
Die Frage ist letztlich nur, wie kommt das Excel-File "von A nach B"?

Wie hätte der arme alte Goethe wohl in unserer Zeit überleben können ?!

Mal sehen ob mich am Wochenende die Muse mehrmals küsst und mich dein Meisterwerk in einer eigenen VM freudig entzücken lässt. face-smile

Ich gebe dir dann (gut oder schlecht gelaunte) Rückmeldung.

Gruß
eisbein
Member: eisbein
eisbein Jan 19, 2018 at 05:43:10 (UTC)
Goto Top
Guten Morgen!

Ich habe dein Werk begutachtet.

Auch die Performance beim Anzeigen der geleisteten Stunden nach dem Monatswechsel lässt etwas zu wünschen übrig, die Aktualisierung dauert gefühlt 1-2 sec.

Du hast ja auch genug Zeilen, Formeln und Formatierung hinein gepackt die immer wieder neu berechnet/ aktualisiert werden wollen.

Aktuell stellt sich mir die Frage: Wie kann ich die Formeln für die NettoArbeitstage.Intl mit Teilergebnis kombinieren, damit auch tatsächlich nur die Arbeitstage des jeweils ausgewählten Monats angezeigt werden bzw. bei der Jahresansicht (GA) die Arbeitstage des gesamten Jahres?

Das musst du genauer erklären...!

Zwei weitere Problem sind die Toogles "Soll" und "Ist", die sich bestenfalls gegenseitig ausschließen sollten. Es macht ja keinen großen Sinn sowohl Soll als auch Ist auszublenden.

Du macht im selben Makro die Abfrage des Toogle-Status und das Aus-/Einblenden der Spalten. Wenn du den Code für Aus-/Einblenden beider Buttons in ein jeweils eigenes Makro schreibst, kannst du bei der Status-Abfrage die Makros gezielt einzeln abrufen und kombinieren.

Das andere betrifft die aktivierung von GA, was das gesamte Jahr anzeigt bzw. ausgeblendete Zeilen wieder einblendet. Hier wäre es cool wenn statt dem zuvor angezeigten Monat ein Test wie z.B. "Jahresansicht" steht.

Du könntest ein Textfeld über den betreffenden Bereich (Monatsname) zeichnen und dieses bei Bedarf ein/ausbleden.

Spannend wäre auch für jeden Mitarbeiter in Zeile 3 für seinen Bereich "Ist" ein eigenes Login zu verpassen.
Insgesamt würde ich die Tabelle gerne bestmöglich schützen

Da wirst du mit Excel nicht glücklich werden.

In Summe bist du mit einer Datenbank (zB. Access) besser bedient - oder willst du für jedes Jahr eine eigene Excel-Datei anlegen und wenn du dann etwas suchen bzw. ändern willst zig Dateien durchstöbern/aktualisieren?

Gruß
eisbein
Member: Juweee
Juweee Jan 19, 2018 updated at 19:32:30 (UTC)
Goto Top
Hallo "Eisbein",
die hast deine Sicherheitsbedenken also nun doch überwunden!? Fein face-smile
Und schlecht gelaunt liest sich das was du schreibst auch nicht ;)

Natürlich hast du Recht damit, daß das Ganze in Access besser aufgehoben wäre, jedoch hab ich mit Access noch länger nichts mehr gemacht als mit Excel. Das bezieht sich auch auf ein anderes Projekt in dem ich unser Berichtswesen in dynamische PDF-Formulare gepackt habe. Einerseits weil ich sowas schon immer mal machen wollte, andererseits weil mir das dort etwas besser von der Hand ging als in Access. Definitiv wäre auch dafür Access die bessere Lösung gewesen.
Vermutlich könnte man dort auch das Thema mit dem Login etwas besser lösen ;)

Wenn es dich interessiert: Das PDF-Template hab ich mal in den gleichen Ordner gelegt face-smile

Das Thema beim Umschalten zwischen Jahresansicht und Monate konnte ich zwischenzeitlich so lösen:
Private Sub CheckBox1_Click()
    If CheckBox1.Value = -1 Then
        SpinButton1.Enabled = False
        ThisWorkbook.Worksheets(1).Cells(2, 1).Value = "Jahresansicht"  
    Else
        SpinButton1.Enabled = True
        ThisWorkbook.Worksheets(1).Cells(2, 1).Value = _
        Format(DateSerial(2000, SpinButton1.Value, 1), "MMMM")  
    End If
    Call Ausblenden(SpinButton1.Value, CheckBox1.Value)
End Sub

Die Toogles sin doch in zwei eigenen Makros - oder hab ich dich falsch verstanden?

Private Sub tglBtn1_Click()
    With tglBtn1
         .BackColor = IIf(.Value = False, RGB(0, 255, 0), RGB(255, 0, 0))
    End With
    Columns("C:E").EntireColumn.Hidden = Not Columns("C:E").EntireColumn.Hidden  
    Columns("I:K").EntireColumn.Hidden = Not Columns("I:K").EntireColumn.Hidden  
    Columns("O:Q").EntireColumn.Hidden = Not Columns("O:Q").EntireColumn.Hidden  
    Columns("U:W").EntireColumn.Hidden = Not Columns("U:W").EntireColumn.Hidden  
    Columns("AA:AC").EntireColumn.Hidden = Not Columns("AA:AC").EntireColumn.Hidden  
    Columns("AG:AI").EntireColumn.Hidden = Not Columns("AG:AI").EntireColumn.Hidden  
    Columns("AM:AO").EntireColumn.Hidden = Not Columns("AM:AO").EntireColumn.Hidden  
End Sub

Private Sub tglBtn2_Click()
    With tglBtn2
         .BackColor = IIf(.Value = False, RGB(0, 255, 0), RGB(255, 0, 0))
    End With
    Columns("F:H").EntireColumn.Hidden = Not Columns("F:H").EntireColumn.Hidden  
    Columns("L:N").EntireColumn.Hidden = Not Columns("L:N").EntireColumn.Hidden  
    Columns("R:T").EntireColumn.Hidden = Not Columns("R:T").EntireColumn.Hidden  
    Columns("X:Z").EntireColumn.Hidden = Not Columns("X:Z").EntireColumn.Hidden  
    Columns("AD:AF").EntireColumn.Hidden = Not Columns("AD:AF").EntireColumn.Hidden  
    Columns("AJ:AL").EntireColumn.Hidden = Not Columns("AJ:AL").EntireColumn.Hidden  
    Columns("AP:AR").EntireColumn.Hidden = Not Columns("AP:AR").EntireColumn.Hidden  
End Sub

Was aber das ursprüngliche Thema betrifft so lasse ich mir in B373 mit
=NETTOARBEITSTAGE.INTL(B6;B36;Hilfstabelle!$G$2;Hilfstabelle!Feiertage)
die Arbeitstage, in dem Fall für den Januar anzeigen.
Was ich eigentlich erreichen möchte ist, daß mir in B373 jeweils die Arbeitstage des eingeblendeten Monat angezeigt werden.
Nachdem das z.B. für die geplanten Stunden in E374 mit
=TEILERGEBNIS(109;E6:E371)
sehr gut funktioniert, kam ich eben auf die bisher ungelöste Idee diese beiden Formeln irgendwie mit einander zu verbinden, damit mir eben in B373 immer nur die Abeitstage des Monats angezeigt werden, der aktuell sichtbar ist.

Grüße,
Juweee