用户表单事件和调用私人子
我有用户forms的文本框。 文本框限制某些字符的input,或者允许input数字逗号和点。 代码在文本框的key_press
事件中。 一切正常,只要下面的代码是在key_press
事件。 当我input来自不同的子相同的代码call private sub
小组它不起作用。
为什么它不起作用?
Key_press
事件中的代码:
Private Sub netto_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("9") Case Asc("-") Case Else KeyAscii = 0 End Select End Sub
在Key_press
事件中调用子代码:
Private Sub netto_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Call klawisze End Sub Private Sub klawisze() Select Case KeyAscii Case Asc("0") To Asc("9") Case Asc("-") Case Else KeyAscii = 0 End Select End Sub
你靠近正确的解决scheme。 你只需要在你的klawisze
子目录(它接受相应的参数: ByVal KeyAscii As MSForms.ReturnInteger
)中传递参数KeyAscii
:
Private Sub netto_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Call klawisze(KeyAscii) End Sub Private Sub klawisze(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("9") Case Asc("-") Case Else KeyAscii = 0 End Select End Sub