VBA Textfeld in Userform als datum definieren
#1
Hallo Zusammen,

ich sitze da an einem Problem. ich habe mir eine Userform gebaut mit verschieden Feldern. Alles läuft auch super, aber ein Feld muß als Datum definiert werden, aber das klappt nicht. Am liebsten hätte ich eine DTPicker als datum. Bisher sind alle meine versuche gescheitert und die ausgabe erfolgt immer als Text.

kann mir hier jemand helfen?

Gruß

Aritmatos
Top
#2
Hallo,

die Eingabefelder in den UserForms heißen Textfelder. Insofern geben sie natürlich Texte aus. Das musst du zum Beispiel mit CDate umformen.

Code:
Private Sub CommandButton1_Click()
MsgBox CDate(TextBox1.Value)
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hey, erstmal danke für deine Antwort,

aber es klappt leider nicht.

es muß in diesen Code eingefügt werden

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)

End Sub


Mfg

Aritmatos
Top
#4
Hallo,


habe den Picker bei mir nicht installiert, aber so in dieser Art sollte das gehen:

Code:
Private Sub DTPicker1_Change()
ActiveSheet.Range("F5") = DTPicker1.Value
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
Hallo, nochmla Danke,

grundsätzlich läuft der Code. das Problem ist, dass ich es nicht in die UserForm integriert bekomme.

Ist es nicht möglich, dass VBA den Inhalt grundsätzlich als Datum ausgibt, egal wo ich ihn hinschreibe. Das liegt daran, dass es eine dynamische Liste ist. Alles läuft super nur ich bekomme es einfach nicht hin, dass er mir diesen Eintrag als Datum ausgibt. Confused

Gruß

Aritmatos
Top
#6
Hallo,

lade doch mal deine Datei hoch, so ist das doch nur Rätselraten.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#7
So hab nun die Grundversion hochgeladen.

Das Läuft so, dass wenn ich einen neuen Eintrag erstelle, gebe ich in den Feldern alles ein was wichtig ist. Am wichtigsten ist das Datum, da diese auch nachher ein wichtiges Such- und Selektionskriterium ist.

Irgend wo ist ein fehler, warum ich es nicht hinbekomme, dass das Datum auch als solches angezeigt wird. In dieser Version ist die Textbox1 noch als Text definiert. das liegt daran, dass diese Version auch läuft.

Am besten ist es wiegesagt, wenn ich statt der Textbox1 eine DTPicker1 hätte, dass ist aber ein Bonus.  :19:

Gruß und Dank

Aritmatos


Angehängte Dateien
.xlsm   Tour Netz 1.xlsm (Größe: 36,67 KB / Downloads: 5)
Top
#8
Hallo,

den DTPicker habe ich vergeblich gesucht. Diesen Vorschlag: Tabelle1.Cells(lZeile, 3).Value = CDate(TextBox1.Value) hatte ich schon mal gemacht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#9
Super,

vielen Dank jetzt klappt es :35: 

Sorry, wenn du es doppelt geschreiben hast, hab ich dann evtl. nicht so verstanden.

Gruß

Aritmatos
Top
#10
Hätte da noch mal eine Frage,

ist es bei der obiegen Liste möglich, dass ich einen Zeitraum auswähle also

zum Beispiel:

vom 01.08.2018 bis 20.08.2018

und mir dann in der Tabelle an bestimmten Wochentagen also

zum Beispiel

alle Mittwochs und Samstags

wird das selbe Eingetragen, was in den Feldern steht außer dass sich immer das entsprechende Datum habe.

also Beispiel für obiegen Bereich

01.08.2018 Mittwoch   Text
04.08.2018 Samstag    Text
08.08.2018 Mittwoch   Text
11.08.2018 Samstag    Text
15.08.2018 Mittwoch   Text
18.08.2018 Samstag    Text

Gruß und Dank

Aritmatos
Top


Gehe zu:


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