问题描述
我有一个包含多个文本框的表单,我正在寻找一种方法,如果文本框具有特定标签,则它只接受数字值。
我发现以下代码可以单独完成我想要的操作。
Select Case KeyAscii
Case vbKey0 To vbKey9,vbKeyBack,vbKeyClear,vbKeyDelete,_
vbKeyLeft,vbKeyRight,vbKeyUp,vbKeyDown,vbKeyTab
If KeyAscii = 46 Then If InStr(1,TextBox1.Text,".") Then KeyAscii = 0
Case Else
KeyAscii = 0
Beep
End Select
解决方法
将您的代码包装在一个函数中,然后从控件的按键事件(如果它带有标记)调用它。
或者,如果有很多控件/文本框,请使用 WithEvents。
可以在我的项目 VBA.ModernTheme 中找到一个示例(用于点击事件)。
At 可能需要一点时间才能掌握,但它是一种非常强大的技术,可以将冗余代码减少到最低限度。