Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Das Update ist abgeschlossen, Ihr könnt unser Forum jetzt wieder wie gewohnt nutzen. Eventuelle Bugs und Auffälligkeiten postet Ihr bitte im entsprechenden Forum im Bereich Forumstechnik. x


Ecxe/VBA Probleme unter Office365 64bit
#1
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


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
Antworten Top
#2
Hallo omron,
Soweit ich weiß, wird der DTPicker unter 64 Bit nicht mehr angeboten.

Ggf. was anderes nehmen, selbst was basteln oder Alternative aus dem Bereich Komplettlösungen hier im Forum ausprobieren und evtl. einsetzen. 

https://www.clever-excel-forum.de/Thread...Weekpicker

Gruß Karl-Heinz
Antworten Top
#3
Moin!
Keine Chance!
Der DatePicker (selbst wenn Du die entsprechende .ocx-Datei als Administrator registrieren würdest) funktioniert nicht mit der 64-Bit-Version.
Google mal nach VBA DatePicker Ersatz
Da gibt es etliche Alternativen (aktuell "ca." 143.000)

Ergänzung:
In der Online-Version gibt es mittlerweile ein nettes Gimmick:
https://www.clever-excel-forum.de/Thread...cel-Online

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Hallo zusammen,

Super Danke für die schnelle Hilfe,
nur Ärger mit der 64 Bit Version (aber die IT schreibt es leider vor)...


Gruß
Omron
Antworten Top
#5
hallöchen,

z.B. dort xltips-datepicker
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Wenn man denn unbedingt meint, einen DatePicker benutzen zu müssen, würde ich die "eingebauten" verwenden.
  About Task Dialogs - Win32 apps | Microsoft Learn
AccessUI - VBA TaskDialog
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste