前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有用的VBA类模块:限制用户窗体文本框只能输入中文

有用的VBA类模块:限制用户窗体文本框只能输入中文

作者头像
fanjy
发布2023-09-15 08:11:56
3100
发布2023-09-15 08:11:56
举报
文章被收录于专栏:完美Excel完美Excel

标签:VBA,类模块

下面的类模块只允许在用户窗体文本框中输入中文。

在VBE中插入一个类模块,将其重命名为“CTextbox”,输入代码:

代码语言:javascript
复制
Public WithEvents TBox As MSForms.TextBox
Private Sub Tbox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  KeyAscii = CheckInput(KeyAscii)
End Sub
Public Function CheckInput(ByVal KeyAscii As MSForms.ReturnInteger)
  CheckInput = IIf((KeyAscii < 48) And (KeyAscii > 57), vbKeyClear, 0)
End Function

然后插入一个用户窗体进行测试。

在VBE中,插入一个用户窗体,在其中绘制几个文本框。打开用户窗体代码模块,输入代码:

代码语言:javascript
复制
Private Sub UserForm_Initialize()
 Dim ctl As MSForms.Control
 Dim idx As Long
 For Each ctl In Me.Controls
   If TypeOf ctl Is MSForms.TextBox Then
     ReDim Preserve TextBoxes(idx)
     Set TextBoxes(idx).TBox = ctl
     idx = idx + 1
   End If
 Next ctl
End Sub

运行用户窗体,然后尝试着在其中的文本框中输入内容,你会发现,只能输入中文,而无法输入字母、数字和符号。

在一些情形下,这样的限制还是很有用的,你可以试试,并且尝试限制或允许输入其他内容来扩展这个类模块。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-14 06:37,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档