Thread: Keypress nest
View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Harald Staff Harald Staff is offline
external usenet poster
 
Posts: 1,327
Default Keypress nest

Hi again Garry

This is what classes are for.
Inser a new class module (insert menu). Name the module NumTxt in the
property window. Paste this code into the module:

''' class module text:
Public WithEvents TxtBox As MSForms.TextBox

Private Sub TxtBox_KeyPress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 8 To 10, 13, 27, 44 'Control characters
Case 48 To 57 'numbers
Case Else 'Discard anything else
keyascii = 0
End Select
End Sub

'''end class text

Now in your userform code:

''' Userform code:

Option Explicit

Dim Num1 As New NumTxt
Dim Num2 As New NumTxt

Private Sub UserForm_Initialize()
Set Num1.TxtBox = Me.TextBox1
Set Num2.TxtBox = Me.TextBox2
End Sub

'' end userform code

and that's it .
--
HTH. Best wishes Harald
Followup to newsgroup only please

"Garry Jones" skrev i melding
...
I received help here on how to check input in a text box and only allow
certain keys to be pressed.

It works, brilliant, now I want to use this as a seperate proceedure and
call it from several text boxes.

How to I send back the correct value from the check to "keypress"