【VBA】数据输入 Inputbox + 字符判断
接着上一部分,对Inputbox函数的输入值进行鉴别。与上次相同的是都返回布尔值(True/False),但这篇着重介绍Like的用法。
这里的Like比较准确的翻译不是“喜欢”,而是“
包含
”。
开门总结以下常见常用的字符和数据类型:
以下全用数字作为基本数据类型作为例子。
1#输入值里 是否有 数字(单个)?
Like "[0-9]" ,意思是输入值里面有没有出现像0-9的东西。而0-9恰恰是数字,换言之,就是判断里面有没有数字。如果要判断一连串的字符串里判断有没有数字,那可以将“[0-9]”替换为“*[0-9]*”。
2# 输入值里 是否包含 数字?(多个)
Like “*[0-9]*”,意思是输入值里面有没有包含像0-9的东西。而*可以代表零个或者多个字符,换言之,就是判断从第一个到最后一个字符串里有没有数字。
3# 输入值里 是否含有特定 的数字字符(位置/个数)?
Like “??[0-9]*”, 意思是输入值里面第三个字符串是不是0-9。而?可以代表单个字符,换言之,就是判断从第三个字符串里有没有数字。
4# 输入值里 不含有特定 的数字字符(位置/个数)?
Like “??[!0-9]*”, 意思是输入值里面第三个字符串是不是0-9。而!可以代表"并非/没有的"单个字符的意思。换言之,如果从第三个字符串是数字,就退出程序,不录入数据。
5# 输入值里
除了
数字
以外
?
Not ... Like "*[0-9]*" 其实也可以等同于 ...Like "*[!0-9]*" 。Like就是包含某些字符串,相反Not ... like 就是没包含的意思。
6# (对3# 进行补充)输入值里
特定位置上有数字
?
Like “??#*”, 意思是输入值里面第三个字符串是不是0-9。而#可以代表任意单个数字字符的意思。换言之,如果从第三个字符串不是数字,就退出程序,不录入数据。