Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Keypress Ereignis

Forumthread: Keypress Ereignis

Keypress Ereignis
Sascha
Hallo liebe Experten.
Kann man das Keypress-Ereignis auch in einer Schlaufe einbinden?
Ich habe für mehrere Textboxen (benannt: TB3 - TB46) jeweils ein Keypress Befehl erstellt.
Nun möchte ich gerne die Mappengrösse reduzieren.
Ich habe versucht das Keypress-Ereignis das x-mal vorkommt in eine For - Next Schlaufe einzubinden.
Aber das funktioniert nicht so ganz.
Kann man dies nicht noch anders lösen für alle Textboxen?
Hier der Code für meine erste Textbox:
Private Sub TB3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'nur Zahlen eingeben. Text verboten
Select Case KeyAscii
Case 8, 9, 48 To 57 'Backspace, Tab, 0 bis 9
If InStr(1, TB3, ".") > 0 Then
If TB3.SelLength = 0 Then
If TB3.SelStart > InStr(1, TB3, ".") Then
If Len(Mid(TB3, InStr(1, TB3, ".") + 1)) > 0 Then
KeyAscii = 0
End If
End If
End If
End If
Case 46 'Punkt 44 = Komma
If InStr(1, TB3.text, Chr(46), vbTextCompare) > 0 Then
KeyAscii = 0
Beep
End If
Case Else
KeyAscii = 0
Beep
MsgBox String(5, 32) & "Hier dürfen nur Zahlen eingegeben werden. ", -8
End Select
End Sub
Liebe (kalte) Grüsse
Sascha
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Keypress Ereignis
07.02.2012 10:05:05
Rudi
Hallo,
das geht nur mit einer eigenen Klasse.
Alternative: Den langen Code auslagern und nur aufrufen
Private Sub TB3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii=CheckKey(KeyAscii, TB3)
End Sub
Function CheckKey(ByVal intKey As Integer, oTextBox As Object)
'nur Zahlen eingeben. Text verboten
Select Case intKey
Case 8, 9, 48 To 57 'Backspace, Tab, 0 bis 9
If InStr(1, oTextBox, ".") > 0 Then
If oTextBox.SelLength = 0 Then
If oTextBox.SelStart > InStr(1, oTextBox, ".") Then
If Len(Mid(oTextBox, InStr(1, oTextBox, ".") + 1)) > 0 Then
CheckKey = 0
End If
End If
End If
End If
Case 46 'Punkt 44 = Komma
If InStr(1, oTextBox.Text, Chr(46), vbTextCompare) > 0 Then
CheckKey = 0
Beep
End If
Case Else
CheckKey = 0
Beep
MsgBox String(5, 32) & "Hier dürfen nur Zahlen eingegeben werden. ", -8
End Select
End Function

Gruß
Rudi
Anzeige
AW: Keypress Ereignis
07.02.2012 11:04:16
Sascha
Hallo Rudi,
Ach so... Ok, Vielen lieben Dank. werde es gleich testen.
Liebe Grüsse
Sascha
;

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