Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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

Urlaubsplan

Urlaubsplan
Thomas
Liebe VBA-Spezialisten!
Wieder mal benötige auch Eure Hilfe.
Es geht um einen Urlaubsplan. Die Daten sollen über eine UserForm erfasst werden.
In der Anlage findet ihr die Arbeitsmappe. Die UserForm habe ich schon erstellt.
Ein Teil des Quelltextes habe ich, weil ich bei euch auch etwas lerne ;-)), schon eingefügt.
Und zwar für die ComboBox1.
Aber nun bin ich wieder mal überfordert.
In der UserForm soll in der ComboBox der Mitarbeiter ausgewählt werden. Das funktioniert.
In der TextBox1 wird ein Datum eingegeben. Die Textbox2 soll die Kalenderwoche zurückgeben und
nun die entsprechende Tabelle aktivieren. Also erschein in TextBox2 die KW z. B 1, so soll die Tabelle
„KW01“ aktiviert werden und die Einträge aus ComboBox 1 (Mitarbeiter – in Zelle B23) , Beantrag am
(Zelle N23), Anzahl Tage (Zelle L23) eingetragen werden.
Aber, wenn ein neuer Mitarbeiter in der gleichen Kalenderwoche erfasst wird, so der Eintrag natürlich dann in Zelle B24 erfolgen. Das ganze bräuchte ich für 52 KW. Aber wenn ich mal den
Code erhalte für die 1. und 2. KW, so kann ich dann denn Rest selber ergänzen.
Schließlich will ich ja auch noch etwas tun. ;-)
Gibt es hier eine Lösung? Als Anhang die Arbeitsmappe.
https://www.herber.de/bbs/user/80426.zip
Vielen Dank für Eure Hilfe!! Ihr seit jetzt schon spitze!!!!!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Dies ist der Weg....
05.06.2012 13:10:09
Marc
Füge das mal in deine Mappe ein, sollte dich schon weiterbringen...
Private Sub cmderfassen_Click()
Sheets("KW" & Format(TextBox2, "00")).Select
lz = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row + 1
Cells(lz, "B") = ComboBox1
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) Then
TextBox2 = DatePart("ww", TextBox1)
End If
End Sub
Gruß, Marc
AW: Dies ist der Weg....
05.06.2012 19:03:10
Thomas
Hallo Marko!
Perfekt!! Vielen Dank. Den Rest kann ich dank deiner Unterweisung und Hilfe selber ergänzen.
Eine Frage habe ich noch Marko. Von der Funktion "Kalenderwoche" hört man doch manchmal, dass
die Kalenderwoche nicht richtig wiedergegeben wird. Wie sieht es hier mit "DatePart" aus?
Anzeige
DatePart liefert nicht die KW nach DIN ...
08.06.2012 13:06:12
Christian
... Thomas,
Vorschlag in Anlehnung an
http://www.online-excel.de/excel/singsel_vba.php?f=48
Beachte: Funktion erwartet eine Eingabe vom Typ "Date".
Function udfCW(datDate As Date) As Long
Dim datTmp As Date
datTmp = 4 + datDate - Weekday(datDate, 2)
udfCW = (datTmp - DateSerial(Year(datTmp), 1, -6)) \ 7
End Function
Gruß
Christian

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige