Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Keypressabfragen in eine Funktion auslagern

Forumthread: Keypressabfragen in eine Funktion auslagern

Keypressabfragen in eine Funktion auslagern
02.10.2014 13:56:26
Ronny
Hallo zusammen,
ich versuche krampfhaft eine Keypressabrage für Textboxen in einer userform in eine Funktion zu pressen. Leider schmiert Excel dann regelmäßig ab.
Wer weiß wie´s geht?
Meine Sub schauen eigentlich ganz einfach aus und funktionieren auch. Aber das muß doch schöner gehen. Leider habe ich mit Funktionen mal so gar keine Ahnung.
Private Sub Breite_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If InStr(1, UserForm4.Breite.Text, ".") > 0 Then
KeyAscii = 0
End If
Case Else
MsgBox ("nur Zahlen erlaubt")
KeyAscii = 0
End Select
End Sub

Private Sub Hoehe_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If InStr(1, UserForm4.Hoehe.Text, ".") > 0 Then
KeyAscii = 0
End If
Case Else
MsgBox ("nur Zahlen erlaubt")
KeyAscii = 0
End Select
End Sub

Private Sub Tiefe_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If InStr(1, UserForm4.Tiefe.Text, ".") > 0 Then
KeyAscii = 0
End If
Case Else
MsgBox ("nur Zahlen erlaubt")
KeyAscii = 0
End Select
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Keypressabfragen in eine Funktion auslagern
02.10.2014 14:05:48
Hajo_Zi
benutze Klassen.

AW: Keypressabfragen in eine Funktion auslagern
02.10.2014 14:06:39
Daniel
Hi
so vielleicht:
Private Sub Breite_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
KeyAscii = NurZahl(KeyAscii, Breite.Text)
End Sub
Private Sub Hoehe_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
KeyAscii = NurZahl(KeyAscii, Hoehe.Text)
End Sub
Private Sub Tiefe_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'Zahlenfelder prüfen
KeyAscii = NurZahl(KeyAscii, Tiefe.Text)
End Sub

Function NurZahl(ByVal Wert, ByVal TXT as string) 'Zahlenfelder prüfen
Select Case Wert
Case Asc("0") To Asc("9")
Case Asc(".")
If InStr(1, TXT, ".") > 0 Then
Wert = 0
End If
Case Else
MsgBox ("nur Zahlen erlaubt")
Wert = 0
End Select
NurZahl = Wert
End Function
Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige