Registriert seit: 09.05.2015
Version(en): 2010
kannst du mir erklären wie das hin bekomme.
Registriert seit: 21.06.2016
Version(en): 2021
13.08.2016, 22:35
(Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2016, 23:03 von Ego.)
Hallo Haupi,
der Algorithmus für das Berechnen der Lücken über Programmierung mit VBA ist nicht so einfach zu erklären (kann ich aber später auf Wunsch auch machen). Eine Farbgebung der Zellen bei Überbelegung macht man am Besten innerhalb dieses Algorithmus.
Ich werde auf keinen Fall ein Programm schreiben, das :
für genau 15 Mitarbeiter überprüft, ob es in einem Zeitraum an einem Tag Zeiten gibt in der kein oder mehr als ein Mitarbeiter anwesend ist.
Was ich aber anbieten kann ist ein Programm, das:
für beliebig viele Mitarbeiter überprüft, ob es in einem Zeitraum an einem Tag Zeiten gibt in der weniger als eine vorgegebene Anzahl oder mehr als eine andere vorgegeben Anzahl von Mitarbeiter anwesend ist, wobei der gleiche Mitarbeiter auch mehrere Zeiten innerhalb des einen Zeitraumes anwesend sein kann.
Ich kann dann die Datei anhand eines Beispieles von 15 Mitarbeiter erstellen.
Hierfür sind aber drei Bedingungen deinerseits zu erfüllen:
1) Da das Erstellen von vernünftigen Testdaten für mich ähnlich aufwendig ist wie das Programmieren solltest du einige (natürliche anonymisierte) Belegpläne bereitstellen (mit Angabe der zu überprüfenden Zeiträume).
2) Ich werde das Programm natürlich testen. Du solltest dich aber bereit erklären auch zeitnah zu testen.
3) Wichtig! Da das Thema des Programmes nicht mehr die Erstellung eines Balkendiagrammes ist, solltest du eine neue Anfrage stellen.
In dem Betreff solltest du in deinen Worten schreiben, dass es um die Überprüfung einer vollständigen Überdeckung eines Zeitraumes mit (Pflegern oder einem Belegplan;hier bitte deinen Begriff) geht.
Ausserdem sollte in dem Text der neuen Anfrage für die regelmässigen Helfer ein Verweis auf diese Anfrage stehen.
ps Um dir den Aufwand zu zeigen. Das Programm zur Ermittlung wieviel Mitarbeiter in welchen Zeitraum anwesend sind wird nur ungefähr 100 Zeilen haben. Dazu kommen noch einige Zeilen zur Formatierung der Zeitbereiche.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Registriert seit: 09.05.2015
Version(en): 2010
Das ist wirklich ein riesen Aufwand, das möchte ich niemanden zumuten. gibt es da nen einfacheren Ansatz oder Möglichkeiten????
Registriert seit: 21.06.2016
Version(en): 2021
16.08.2016, 03:44
(Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2016, 03:44 von Ego.)
Hallo Haupi,
Was erschreckt dich denn am Aufwand? Dein Aufwand oder mein Aufwand?
Mein Angebot steht.
Wenn dich die 100 Zeilen Code erschrecken, dann schau einmal wieviel Zeilen wir schon in diesem Thema geschrieben haben. Und CodeZeilen sind häufig sehr viel kürzer und können oft auch kopiert und dann geringfügig geändert werden.
Ich habe dir eine allgemeine Lösung angeboten, da der Unterschied in der Programmierung sehr gering ist( ca 5- 10 Minuten mit Tests):
Von ca 7 Parameter die ich ansonsten im Programm festgeschrieben hätte muss ich drei einlesen und ca 4 aus den Bereichen ermitteln und alle auf Plausibilität prüfen.
Der eigentliche Code für den Algorithmus muss nur dadurch, dass ich mehrere Zeiträume pro Mitarbeiter zulasse, erweitert werden.
An einigen Stellen um jeweils 2 Zeilen.
Statt
Code:
For intSpalte = 1 To intAnzSpalten
....
Next intSpalte
dann
Code:
For intZeile = 1 To intAnzZeilen
For intSpalte = 1 To intAnzSpalten
....
Next intSpalte
Next intZeile
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Registriert seit: 09.05.2015
Version(en): 2010
Der Aufwand den du, dir für mich machst. Erstmal danke dafür. Werde hier jetzt einen neuen Thread "Überprüfung von Arbeitszeitüberschneidung" aufmachen.