【VBA】数据输入 Inputbox + 字符判断

【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。而#可以代表任意单个数字字符的意思。换言之,如果从第三个字符串不是数字,就退出程序,不录入数据。

编辑于 2019-08-21 14:54

文章被以下专栏收录