Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Code für Urlaubsplaner ändern
24.08.2010 11:25:35 nite712
Solved

Ansicht des Beitrags:
Von:
nite712
Datum:
24.08.2010 11:25:35
Views:
1902
Rating: Antwort:
 Nein
Thema:
VBA Code für Urlaubsplaner ändern
Hallo,
ich bräuchte mal dringende Hilfe bei der Änderung eines VBA-Codes für einen Urlaubsplaner. Nachfolgend der erste Auszug vom Code. Dieser ist aber nur für die ersten 2 Monate. Ich benötige Ihn aber für 12 Monate also Januar - Dezember. Vielen Dank für eure Hilfe


Private Sub CommandButton1_Click()

Dim dat As Date, dat2 As Date, dat3 As Date ' Variablen deklarieren
dat = Me.TextBox1 ' Wert aus UserForm zuweisen
dat2 = Me.TextBox2 ' Wert aus UserForm zuweisen
Worksheets("Januar").Activate ' Tabellenblatt 1 aktivieren
If dat2 > Cells(3, 32) And dat Cells(3, 32) Then Worksheets("Februar").Activate ' wenn Urlaubsbeginn im Februar Tabellenblatt aktivieren
sp = 1 ' Startwert für Do-While-Schleife
Do While Cells(3, sp) <> dat ' Start Schleife (Urlausbeginn suchen)
sp = sp + 1 ' Zähler um Wert 1 erhöhen
Loop ' Wendepunkt für Schleife
sp2 = 1 ' Startwert für Do-While-Loop-Schleife
Do While Cells(3, sp2) <> dat2 ' Start Schleife (Urlausende suchen)
sp2 = sp2 + 1 ' Zähler um Wert 1 erhöhen
Loop ' Wendepunkt für Schleife
z = 4 ' Startwert für Do-While-Schleife
Do While Cells(z, 1) <> Me.ComboBox1 ' Start Schleife (Mitarbeiter suchen)
z = z + 1 ' Zähler um Wert 1 erhöhen
Loop ' Wendepunkt für Schleife
If dat3 > 0 Then GoTo Seitenwechsel ' wenn Urlaubsende im 2. Halbjahr gehe zur Unterroutine
For r = sp To sp2 ' sonst Schleifenstart für Tabelleneintrag
Cells(3, r).Select ' Zellen selektieren
If Format(Cells(3, r), "ddd") = "Sa" _
Or Cells(2000, r) = 2 _
Or Format(Cells(3, r), "ddd") = "So" Then GoTo sprung ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, r) = Me.ComboBox2 ' Eintrag für Urlaub
ut = ut + 1
TextBox3 = "Es werden " & ut & " Abwesenheits-Tage" & Chr(13) & "benötigt"
sprung: ' Sprungziel (wenn kein Eintrag)
Next r ' Schleifenzähler
Unload Me
UserForm1.Show 'Name anpassen

Exit Sub ' Programmende, wenn Urlaub nur Januar

Seitenwechsel: ' Sprungziel wenn Urlaubsanteile im Februar
For r = sp To sp2 ' Schleifenstart für Tabelleneintrag
Cells(3, r).Select ' Zellen selektieren
If Format(Cells(3, r), "ddd") = "Sa" _
Or Format(Cells(3, r), "ddd") = "So" Then GoTo sprung1 ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, r) = "U" ' Eintrag für Urlaub
ut2 = ut2 + 1
sprung1: ' Sprungziel (wenn kein Eintrag)
Next r ' Schleifenzähler
Worksheets("Februar").Activate ' Tabellenblatt 2 aktivieren
sp3 = 2 ' Startwert für Do-While-Loop-Schleife
Do While Cells(3, sp3) <> dat3 ' Start Schleife (Urlausende suchen)
sp3 = sp3 + 1 ' Schleifenzähler
Loop ' Wendepunkt für Schleife
For s = 2 To sp3 ' Schleifenstart für Tabelleneintrag
Cells(3, s).Select ' Zellen selektieren
If Format(Cells(3, s), "ddd") = "Sa" _
Or Format(Cells(3, s), "ddd") = "So" Then GoTo sprung2 ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, s) = "U" ' Eintrag für Urlaub
ut2 = ut2 + 1
TextBox3 = "Es werden " & ut2 & " Abwesenheits-Tage" & Chr(13) & "benötigt"
sprung2: ' Sprungziel wenn kein Eintrag
Next s ' Schleifenzähler
Unload Me
UserForm1.Show 'Name anpassen

End Sub ' Programmende

Private Sub CommandButton2_Click()
UserForm1.Hide ' UserForm schließen
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Code für Urlaubsplaner ändern
24.08.2010 11:25:35 nite712
Solved