Hallo an alle Spezialisten.
komme doch mit einem sehr lautem
Hilfe zurück. :19:
wie Ihr an der anhängenden Datei erkennen könnt hat sich einiges getan. Doch nun ergibt sich für mich ein
riesiges Problem.
Um nicht jeder Textbox einen Code zuzuweisen zwecks "Nur numerischer Eingabe und Komma" oder "Nur numerischer Eingabe und Punkt"
oder "Nur numerischer Eingabe" habe ich mich an die Klassenmodule gewagt.
Um bei der Wahrheit zu bleiben, mich an Code Schnipsel bedient.
Um kurz zu beschreiben was ich vorhabe:
Auf der Userform habe ich 117 Textboxen.
- 26 welche nur nummerisch und Komma Eingabe zulassen dürfen,
- 35 welche nur nummerisch und Punkt Eingabe zulassen dürfen
- 17 welche nur numerische Eingaben zulassen dürfen
einen Teil der 30 welche nur nummerische und Komma Eingabe zulassen habe ich wie folgt gelöst:
Klassenmodul angelegt mit dem Namen
clsTB und dem nachfolgendem Code:
Code:
Public WithEvents myTB As MSForms.TextBox
Private Sub myTB_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 44, 48 To 57 'Festlegen der Zugelassenen Zeichen 0-9 und Komma
' tue nichts
Case Else
KeyAscii = 0
MsgBox "Es sind nur Zahlen und Komma erlaubt!", _
vbInformation, "Hinweis"
End Select
End Sub
Dann in der Userform unter "Private Sub UserForm_Initialize()"
den nachfolgenden Code eingefügt:
Code:
'Textboxen für nummerische Eingabe und Komma festlegen
Dim v As Variant, l As Long
v = Array(7, 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 55, 57, 59, 66, 71, 73, 78, 80, 85, 87, 92, 94, 99, 101, 103) 'Zuständige Textboxen festlegen
ReDim objTB(UBound(v))
For l = LBound(v) To UBound(v)
Set objTB(l).myTB = Me.Controls("TextBox" & v(l))
Next l
'---------------------------------------------------------------------
'Platzhalter für Textboxen mit numerischer Eingabe und Punkt festlegen
'---------------------------------------------------------------------
'Platzhalter für Textboxen mit nur numerischer Eingabe festlegen
'---------------------------------------------------------------------
Somit funktioniert das mit der nummerischen und Komma Eingabe bei den festgelegten Textboxen super.
Nun habe ich mir gedacht einfach für die beiden weiteren Schritte " Nummer und Punkt" und nur "Nummer"
zwei weitere Klassenmodule anzulegen.
Gesagt - getan und es knallte erbarmungslos.
Meine VBA Kenntisse sind zu erbärmlich um es selbst hinzubekommen und meine sehr langer Suche, in zig Foren nach
Code Schnipseln, war ohne Erfolg.
Zusätzlich erschwert meine Blindheit das eigenständige erstellen.
Vielleicht mache ich ja nur einen Gedanken Fehler und brauche gar keine weitere Klassenmodule.
Allso ganz lieb guck und um Hilfe bitte!!
Gruß
Jürgen