ich habe folgende Problemstellung:
In einer Userform befinden sich mehrere TextBoxen. In diesen werden sowohl Text (Adressen) aber auch Einträge als Datum erfasst.
Das Problem besteht darin, dass das Datum in der Tabelle jedoch als Text gespeichert wird. Das würde ich sehr gerne ändern.
Auszug aus dem VBA Code:
'##########################################################
Option Explicit
Option Compare Text
'Wie viele TextBoxen sind auf der UserForm platziert?
Private Const iCONST_ANZAHL_EingabeFELDER As Integer = 65
'##########################################################
'so sieht der Code aus, der alle Inhalte als Text speichert:
Private Sub EINTRAG_SPEICHERN()
Dim lZeile As Long
Dim i As Integer
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EingabeFELDER
Tabelle4.Cells(lZeile, i) = Me.Controls("TextBox" & i)
Next i
'####################################################################
Mein Versuch die entsprechenden TextBoxen als Datum zu speichern:
Private Sub EINTRAG_SPEICHERN()
Dim lZeile As Long
Dim i As Integer
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EingabeFELDER
Tabelle4.Cells(lZeile, i) = Me.Controls("TextBox" & i)
'Werte als Datum in Tabelle4 (Anfragen) speichern
Tabelle4.Cells(lZeile, 4).Value = CDate(TextBox4)
Tabelle4.Cells(lZeile, 5).Value = CDate(TextBox5)
Tabelle4.Cells(lZeile, 6).Value = CDate(TextBox6)
Tabelle4.Cells(lZeile, 13).Value = CDate(TextBox13)
Tabelle4.Cells(lZeile, 22).Value = CDate(TextBox22)
Tabelle4.Cells(lZeile, 23).Value = CDate(TextBox23)
Next i
For i = 1 To iconst_checkboxen
Tabelle4.Cells(lZeile, i + 75).Value = IIf(Me.Controls("Checkbox" & CStr(i)).Value, "Ja", "Nein")
Next i
Für die TextBoxen 4,5 und 6 funktioniert der eingefügte Code und der Eintrag wird als Datum gespeichert.
Es kommt jedoch ab TextBox 13 zu einem Laufzeitfehler '13' Typen unverträglich
Ich kann zwischen den TextBoxen 4,5,6 und 13, 22,23 keinen Unterschied feststellen.
Es würde mich sehr freuen, wenn mir jemand mit einem Tipp weiterhelfen könnte.