PDA

Vollständige Version anzeigen : Urlaubsplaner


Mightysmagic
18.09.2001, 11:54
Hi, ich bin gerade dabei einen Urlaubsplaner zu programmieren, habe jetzt aber ein paar kleine Probs.

1.: Ich möchte anhand eines Menuepunkts die Tabelle jeweils Jahresaktuell neu formatieren. Dazu müssen zb. zum ersten Januar der Montag zugeordnet werden. Im Folgejahr wäre dann der 1. Januar ein Mittwoch usw. dies sollte sich entsprechend anpassen. Natürlich muss es dann auch Januar 2001 im ersten Jahr und Janaur 2002 im folgejahr heißen...etc.

Soviel erstmal.

<p align="left"><font size="1" face="Century Gothic"><font color="#000000">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag ein Link entfernt.</font>

jinx
18.09.2001, 21:52
<font size="2" face="Century Gothic">Moin, Mightysmagic,

ich gebe zu, ich nutze dafür entweder Outlook2000 oder Lotus Organizer (es gibt noch genügend andere PIM!)...

Wie hast Du Dir die Umstellung der Jahre denn gedacht? Per vorgegebenen Jahren? Wenn ja, welche bzw. wie viele?
Fängt der Plan immer am 01.01. an oder sollen auch andere Möglichkeiten zugelassen werden?
Soll immer ein Monat auf ein Tabellenblatt oder ein komplettes Jahr?

Im Jahr 2001 war der 01.01 ein Montag, also ist er im Jahre 2002 ein Dienstag, erst 2004 steht wieder ein Schaltjahr an.

Nach all den Fragen einige Hinweise:
Ich bin für das Muster davon ausgegangen, das die Daten in Spalte A stehen und in A1 beginnen. Dann kann z.B. in B1 folgendes stehen: =WOCHENTAG(A1;2)
und in C1: =WENN(B1=1;"Montag";WENN(B1=2;"Dienstag")...) - diese Formel muss natürlich noch für die übrigen Tage aufgefüllt werden!

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag die Signatur angepasst...</font>

chrissy
19.09.2001, 08:40
Hi
ich schreibe auch gerade an einem Urlaubsplaner.
Wieviele Leute nimmst du da mit auf?
Mein Prog soll für eine ganze Abteilung mit einer wechselnden Anzahl an Mitarbeitern geeignet sein und es können immer nur bestimmte Kombinationen von Mitarbeitern in den Urlaub gehen, da wir hier feste Teams haben.
Welche Übersichtsformen hast du? Jahr, Monat, Kalenderwoche?
Wie trägst du Feiertage ein?
Glaube das reicht erstmal...

tschau

Mightysmagic
19.09.2001, 09:43
Hallo Chrissy,

der Urlaubsplaner ist auf 35 Personen ausgelegt, aber auch Problemlos auf 50 erweiterbar.Oder eben zu verringern.

Auf meinen Streifzügen hab ich nun einen Urlaubsplaner entdeckt, der dem sehr ähnlich ist, wie ich ihn gerade baue.

Der ist Shareware unter www.igelnet.de (http://www.igelnet.de) zu finden. Dort ist zumindest in der Anleitung beschrieben, wie ich es auch machen will.

Auszug aus der Beschreibung:
Im erscheinenden Eingabefenster können Sie eine gültige 4stellige Jahreszahl eintragen.Anschließend wählen Sie für die Berechnung der Feiertage Ihr Bundesland aus.Nach Bestätigung wird der Kalender für das eingegebene Jahr formatiert. Die Feiertage sind rot markiert.Möchten Sie nur sämtliche Einträge löschen, den Kalender aber beibehalten, so tragen Sie die aktuelle Jahreszahl nochmals ein.

Das eizige was mich an dieser Sache noch stört, oder was ich mir nicht erklären kann, ist, das ein Teil unsrer Mitarbeiter auch Samstags arbeiten müssen und somit auch dort ein Urlaubstag verloren geht. Wie kann ich denn nun so etwas ausschliessen?

chrissy
19.09.2001, 10:27
Danke!

Würdest du mir ein Prog mal schicken?
Dann kann ich es mir mal ansehen und mir vielleicht Inspiration holen. :-)

Wäre echt cool...

mail: chris_otto@web.de


THANX! :-D

jinx
23.09.2001, 16:18
<font size="2" face="Century Gothic">Moin, ihr Urlaubsplaner,

ein Beispiel von Herber (http://www.herber.de/mailing/108200h.htm) ohne Shareware-Einschränkungen als "Anregung":

Text-Index: 108200
Thema: DatumZeit
Betrifft: Urlaub gem. Tabelle in Urlaubsliste eintragen
Frage: In einer Tabelle habe ich Mitarbeiternamen, Urlaubsbeginn und Urlaubsende stehen. Wie kann ich die Urlaubstage in den nachfolgenden Monatsblättern bei den einzelnen Mitarbeitern farblich markieren?
Antwort: Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
&nbsp;
<span class="TOKEN">Sub</span> UrlaubsEintrag()
<span class="TOKEN">Dim</span> rng <span class="TOKEN">As</span> Range
<span class="TOKEN">Dim</span> iRow <span class="TOKEN">As</span> Integer, iMonth <span class="TOKEN">As</span> Integer, iCounter <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
iRow = 3
<span class="TOKEN">Do</span> <span class="TOKEN">Until</span> IsEmpty(Cells(iRow, 1))
<span class="TOKEN">For</span> iMonth = Month(Cells(iRow, 2)) <span class="TOKEN">To</span> Month(Cells(iRow, 3))
<span class="TOKEN">Set</span> rng = Worksheets(Format(DateSerial(1, iMonth, 1), &quot;mmmm&quot;)). _
Columns(1).Find _
(Cells(iRow, 1), LookIn:=xlValues, lookat:=xlWhole)
<span class="TOKEN">If</span> iMonth = Month(Cells(iRow, 2)) <span class="TOKEN">And</span> iMonth = _
Month(Cells(iRow, 3)) <span class="TOKEN">Then</span>
<span class="TOKEN">For</span> iCounter = Day(Cells(iRow, 2)) <span class="TOKEN">To</span> Day(Cells(iRow, 3))
rng.Offset(0, iCounter).Interior.ColorIndex = 3
<span class="TOKEN">Next</span> iCounter
<span class="TOKEN">ElseIf</span> iMonth = Month(Cells(iRow, 2)) <span class="TOKEN">Then</span>
<span class="TOKEN">For</span> iCounter = Day(Cells(iRow, 2)) <span class="TOKEN">To</span> Day(DateSerial _
(1, Month(Cells(iRow, 2)) + 1, 0))
rng.Offset(0, iCounter).Interior.ColorIndex = 3
<span class="TOKEN">Next</span> iCounter
<span class="TOKEN">Else</span>
<span class="TOKEN">For</span> iCounter = 1 <span class="TOKEN">To</span> Day(Cells(iRow, 3))
rng.Offset(0, iCounter).Interior.ColorIndex = 3
<span class="TOKEN">Next</span> iCounter
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span> iMonth
iRow = iRow + 1
<span class="TOKEN">Loop</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag der Code für dieses Forum und die Signatur angepasst.<font>

chrissy
24.09.2001, 08:36
Thanx a lot jinx!!!