MS-DTPicker in UserForm

Hallo zusammen,
ich habe hier eine Excel-Tabelle in der der User ein Datum einfügen soll/muss. Da möchte ich gerne über eine „User-Form“ erreichen in der MS-DTPicker enthalten ist.

Das habe ich so weit auch hin bekommen, Internet sei dank.
http://www.mayhemmichi.de/echo/DTPicker_in_UserForm.xls

Mein Problem, „MS-Date and Time Picker Control 6.0 (SP4)“ ist nicht immer auf den verschiedenen PCs vorhanden. Das führt dann natürlich zu einem Fehler.

Ich suche jetzt also nach einer Lösung, das Datum auch dann in die Tabelle einzufügen wenn MS-DTPicker nicht vorhanden ist.

Am liebsten natürlich so,
das MS-DTPicker [oder vergleichbares] quasi zum Dokument gehört und automatisch mit geladen wird.

Alternative wäre eine Fehlermeldung.
MS-DTPicker ist vorhanden >> UserForm1
MS-DTPicker nicht vorhanden> UserForm2

Danke schon mal
Holger

Hi,

die könntest die Stelle, an der der Fehler auftritt, mit einem „on error…“ (siehe Excel-Hilfe) versehen. Dann wird der Fehler abgefangen und du kannst alternativen Code ausführen lassen, der z. B. eine Form zur manuellen Eingabe aufruft.

Hallo und danke schon mal.

Genau dafür benötige ich ja die Hilfe. Ich weiß ja nicht mal genau wo ich ansetzen muss
Ich kann selbst die Funktion dann auch nicht überprüfen weil „MS-DTPicker“ bei mir vorhanden ist. Sonnst würde ich warscheinlich so lange rumspielen bis es irgendwie funktioniert.

Bei mir steht ja in Tabelle1,

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

ich vermute das ich dort eingreifen muss oder?
Aber wie prüfe ich hier ob „MS-DTPicker“ vorhanden ist?
Formel-technisch wäre das für mich kein Problem, aber bei VBA muss ich passen

Gruß Holger

Hi,

da kann ich nicht weiterhelfen, da bei mir der MS-DTPicker vorhanden ist und deshalb nicht testen kann, wo und welcher Fehler auftritt.

Hallo Holger,

http://www.mayhemmichi.de/echo/DTPicker_in_UserForm.xls

Mein Problem, „MS-Date and Time Picker Control 6.0 (SP4)“ ist
nicht immer auf den verschiedenen PCs vorhanden. Das führt
dann natürlich zu einem Fehler.

ja, den hatte ich auch in meinem nachstehenden Code. Ich habe den DTPicker nicht auf dem Rechner, beim Starten deiner mappe kam es dann gleich zu Fehlern (fehlendes object o.ä). Im Editor war dann unter Verweisen ein "Nicht vorhanden vor dem Picker.

In meinem Code dann auch Fehler, deshalb habe ich Überprüfung mit isbroken eingebaut.

Alternative wäre eine Fehlermeldung.
MS-DTPicker ist vorhanden >> UserForm1
MS-DTPicker nicht vorhanden> UserForm2

wie wäre es mit sowas:

Sub nn()
Dim objRef As Object, VBProjekt As Object, Vorh As Boolean
Set VBProjekt = ThisWorkbook.VBProject
For Each objRef In VBProjekt.References
 If Not objRef.isbroken Then
' MsgBox objRef.Name
' MsgBox objRef.GUID
' MsgBox objRef.fullpath
 If UCase(Mid(objRef.fullpath, InStrRev(objRef.fullpath, "\") + 1)) = "MSCOMCT2.OCX" Then
 Vorh = True
 End If
 End If
Next objRef
If Vorh Then
 UserForm1.Show 0
Else
 userform2.Show 0
End If
End Sub

Gruß
Reinhard

hallo Reinhard
gibt nicht viel mehr zu sagen wie super, funktioniert und sehr gut so ***

Danke für die Hilfe und LG
Holger

Hallo Holger,

gibt nicht viel mehr zu sagen wie super, funktioniert und sehr
gut so ***

Dankeschön :smile:

Zu Verweisen. Ganz durchblicke ich da die Logik nicht.

Ich sag mal was ich so an spärlichem Wissen zusammengetragen habe.
In der For-Schleife werden alle Verweise die du aktiviert hast durchlaufen.
Steht bei dem verweis „Nicht vorhanden“ o.ä in der Liste würde ein Fehler kommen, wenn ich sage, sage mir den Verweis.namen.
Deshalb die Abprüfung auf .isBroken.

Verweise können sich nun aber durchaus von Version zu Version ändern.
Dann ändert sich gelegentlich auch diese GUID, also diese seltsame lange zahlenkolonne, aber auch der Name der Datei auf die sich der Verweis bezieht.

Und, LEIDER, nicht so, Version XL2000: msforms9.dll, Xl2010: msforms14.dll, sondern irgendwie wahllos, bis hin zu anderen Dateiendungen.

D.H., ich kann nicht, falls ich den Verweis unbedingt brauche, die XL-Version auslesen, daraufhin sagen, aha, XL2010, also Version 14.0, also muß die Datei msforms14.dll heißen, die dann auf der FP suchen, man weiß ja nie wo manche was ablegen, und dann mit AddFromFile bzw. AddfromGUID als Verweis aktivieren.

In deinem fall haste Glück, scheinbar gibt es diesen DTPicker nur in einer Version für alle XL-Versionen, also immer gleicher Name.
Das macht vieles einfacher.

Wenn du deinen Code luxeriös machen willst, soll er halt erst prüfen ob der Verweis gestezt ist, wenn nicht prüfen obs die Datei auf dem Rechner gibt, wenn ja, mit addfromFile aktivieren, wenn nein, die Datei aus dem Internet runterladen und einbinden.

Logisch, für eine w-w- Anfrage viel zu viel Aufwand. Gibts den Verweis kommt UF1, wenn nicht UF2 und fertig.
Aber wer weiß, vielleicht brauchst du mal selbst einen bestimmten Verweis, da ist es positiv wenn du schon mal geübt hast wie das geht.

Logo2, wer hat schon soviel Zeit alles mal zu testen, da verrinnt die Zeit fix.
Sowas kommt bei mir auf die „Müßte ich mal testen“-Liste, die wächst und wächst, ich sehe aber schwarz daß ich jemals da was bearbeite :smile:
Gelegentlich, aber auch nur sehr gelegentlich, pick ich mir mal einen Punkt heraus.

Sorry, wieder zuviel geplaudert.

Gruß
Reinhard