Anzeige
Archiv - Navigation
1248to1252
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige