ich benötige mal wieder Hilfe.
Ich habe eine Userform mit Multiseiten (4 Pages), darin befinden sich auf jeder Page zwischen 12 und 22 Textboxen.
In allen Textboxen sollen nur Zahlen und ein Komma eingetragen werden können.
Aus einem anderen Forum habe ich bereits was gefunden, wie ich das Format in allen TextBoxen über eine Klasse anpassen kann (habe den Code auch soweit begriffen).
Nun stoße ich aber an meine Grenzen, damit nur Zahlen und ein Komma eingetragen werden kann.
Hier mal die Codes, die ich bisher verwendet habe:
In einer Klasse:
Option Explicit
Public WithEvents clTextBox As MSForms.TextBox
Private Sub clTextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then If IsNumeric(clTextBox) Then clTextBox = Format(CDbl( _
clTextBox), "#,##0.00 ")
End Sub
in ein Modul:
Option Explicit
Public WithEvents clTextBox As MSForms.TextBox
Private Sub clTextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then If IsNumeric(clTextBox) Then clTextBox = Format(CDbl( _
clTextBox), "#,##0.00 ")
End Sub
und in die Userform:
Option Explicit
Dim coElement As Control
Private Sub Userform_Initialize()
Dim inZaehler As Integer
For Each coElement In Me.Controls
If TypeName(coElement) = "TextBox" Then
ReDim Preserve clsTextBoxen(0 To inZaehler)
Set clsTextBoxen(inZaehler).clTextBox = coElement
inZaehler = inZaehler + 1
End If
Next coElement
End Sub
Ich hoffe mir kann jemand helfen.Vielen Dank schonmal