28.09.2023, 08:51
Hallo Forum,
dieser Code funktionierte bisher bestens unter Excel2013 nun unter Office365 64bit,
wird im Codeteil " dat = Me.DTPicker1 " Me.DTPicker1 gelb hinterlegt und es erscheint die
Meldung: Fehler beim komplimieren Methode oder Datenobject nicht gefunden.
Woran könnte das liegen?
Besten Dank im Voraus
omron2003
dieser Code funktionierte bisher bestens unter Excel2013 nun unter Office365 64bit,
wird im Codeteil " dat = Me.DTPicker1 " Me.DTPicker1 gelb hinterlegt und es erscheint die
Meldung: Fehler beim komplimieren Methode oder Datenobject nicht gefunden.
Woran könnte das liegen?
Besten Dank im Voraus
omron2003
Code:
Private Sub CommandButton1_Click()
Dim dat As Date, dat2 As Date, dat3 As Date ' Variablen deklarieren
dat = Me.DTPicker1 ' Wert aus UserForm zuweisen
dat2 = Me.DTPicker2 ' Wert aus UserForm zuweisen
ActiveSheet.Activate ' Tabellenblatt 1 aktivieren
If dat2 > Cells(5, 365) And dat < Cells(5, 365) Then ' Urlaubszeitraum über Jahresmitte?
dat3 = dat2 ' Dann neue Werte zuweisen
dat2 = Cells(5, 365) ' "
End If ' Ende If
If dat > Cells(5, 365) Then ActiveSheet.Activate ' wenn Urlaubsbeginn im 2. Haljahr Tabellenblatt aktivieren
sp = 5 ' Startwert für Do-While-Schleife
Do While Cells(5, sp) <> dat ' Start Schleife (Urlausbeginn suchen)
sp = sp + 1 ' Zähler um Wert 1 erhöhen
Loop ' Wendepunkt für Schleife
sp2 = 5 ' Startwert für Do-While-Loop-Schleife
Do While Cells(5, sp2) <> dat2 ' Start Schleife (Urlausende suchen)
sp2 = sp2 + 1 ' Zähler um Wert 1 erhöhen
Loop ' Wendepunkt für Schleife
z = 20 ' Startwert für Do-While-Schleife
Do While Cells(z, 5) <> Me.ListBox1 ' 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(5, r).Select ' Zellen selektieren
If Format(Cells(5, r), "ddd") = "Sa" _
Or Cells(2000, r) = 2 _
Or Format(Cells(5, r), "ddd") = "So" Then GoTo sprung ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, r) = ComboBox2 ' Eintrag für Urlaub
ut = ut + 1
TextBox3 = "Es werden " & ut & " Urlaubstage" & Chr(13) & "benötigt"
sprung: ' Sprungziel (wenn kein Eintrag)
Next r ' Schleifenzähler
Exit Sub ' Programmende, wenn Urlaub nur im 1. Halbjahr
Seitenwechsel: ' Sprungziel wenn Urlaubsanteile im 2. Halbjahr
For r = sp To sp2 ' Schleifenstart für Tabelleneintrag
Cells(5, r).Select ' Zellen selektieren
If Format(Cells(5, r), "ddd") = "Sa" _
Or Format(Cells(5, r), "ddd") = "So" Then GoTo sprung1 ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, r) = ComboBox2 ' Eintrag für Urlaub
ut2 = ut2 + 1
sprung1: ' Sprungziel (wenn kein Eintrag)
Next r ' Schleifenzähler
ActiveSheet.Activate ' Tabellenblatt 2 aktivieren
sp3 = 2 ' Startwert für Do-While-Loop-Schleife
Do While Cells(5, 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(5, s).Select ' Zellen selektieren
If Format(Cells(5, s), "ddd") = "Sa" _
Or Format(Cells(5, s), "ddd") = "So" Then GoTo sprung2 ' wenn Sonnabend oder Sonntag kein Eintrag
Cells(z, s) = ComboBox2 ' Eintrag für Urlaub
ut2 = ut2 + 1
sprung2: ' Sprungziel wenn kein Eintrag
Next s ' Schleifenzähler
Me.ComboBox2 = ""
End Sub ' Programmende