作者:绿色风
分类:
时间:2022-08-18
浏览:140
楼主 xmyjk |
运用窗体,仅能使用窗体填入数据,关闭窗体关闭单元格,控制B6数据录入不能超过40个字,然后不能包含自定义的字符,窗体还会提示还可以录入几个数字,一旦录入的字符不符合规定,就提示,等等功能,大家试看看附件吧。
效果如图:
- Private Sub CommandButton1_Click()
- Dim chs, arr, i As Long
- arr = Worksheets(2).[a1].CurrentRegion
- chs = TextBox1.Text
- If Len(chs) > 40 Then
- MsgBox "警告,必须少于40字符"
- chs = ""
- Exit Sub
- Else
- For i = 1 To UBound(arr)
- If InStr(chs, arr(i, 1)) > 0 Then
- MsgBox "含有违法字符。"
- chs = ""
- Exit Sub
- End If
- Next
- Worksheets(1).[b6] = chs
- End If
- End Sub
- Private Sub TextBox1_Change()
- Dim a As Integer, arr, i As Integer
- arr = Worksheets(2).[a1].CurrentRegion
- a = Len(TextBox1.Text)
- UserForm1.Label3.Caption = "还可以输入" & 40 - a & "个字"
- For i = 1 To UBound(arr)
- If InStr(TextBox1.Text, arr(i, 1)) > 0 Then
- MsgBox "含有违法字符" & arr(i, 1) & "请修改!"
- Exit Sub
- End If
- Next
- End Sub
- Private Sub UserForm_Activate()
- Dim arr, i As Integer
- arr = Worksheets(2).[a1].CurrentRegion
- arr = Application.Transpose(arr)
- For i = 1 To UBound(arr)
- arr(i) = Replace(arr(i), " ", "空格")
- Next
- Label4.Caption = "禁止输入" & Join(arr, " 或 ") & "这些字符!"
- End Sub
- Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
- Cancel = 1
- ThisWorkbook.Close True
- End Sub
试看看.rar |
2楼 kevinchengcw |
收藏学习!小杨V5 |
3楼 sharkzhou |
有什么用的吗 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一