Excel VBA 每日一场景 如何强制输入框只能输入指定类型的内容

最近有小伙伴反馈,在日常的工作中,需要用到一个交互的功能

就是需要使用Excel的同事,按照实际的情况来进行数字,并且那一个单元格只能输入数字

因为后面有其他的计算公式,如果输入的不是数字就会导致计算公式

比方说这样的

其他同事反而振振有词,表示自己也不想输入错误,而且还指出了代码的BUG

如果这里强制输入数字,那你不是应该判断下输入的是不是数字嘛?你有判断有个提醒,我们也好知道呀

小伙伴虽然觉得很委屈,但是感觉也是有一点道理(产品经理和程序员~~,哈哈)

但是交互窗体仅仅是一个简单的输入框,要怎么实现在里面输入的结果是不是数字呢?

所以问到了我,那么我就来和大家分享下吧

Sub test() s = Application.InputBox("请输入数字", "数字,一定要数字") Cells(2, 2) = s End Sub

模拟了这么一段代码,这段代码是完全没有判断的,inputbox是可以随意输入,不管是中文还是数字还是英文

我们可以看到,不做限制的结果,那就是会导致公式出现问题,那么这个inputbox怎么限制?

难道要得到输入的结果,然后再去判断嘛?

不不不!

inputbox是自带限制功能,完全不需要在再去做额外的判断,来看看代码

我们在输入inputbox的时候,有没有留意到他后面有很多的参数呢?这些参数,其实都有用处的,比方说在今天的场景中

我们就会用到最后一个参数,type,他代表的就是我们输入的内容的类型。

这是几个常用的数字所代表的不同的结构,今天我们要限定输入的内容是数字,那么就是1

改下代码来看看

Sub test() s = Application.InputBox("请输入数字", "数字,一定要数字", , , , , , 1) Cells(2, 2) = s End Sub

看就增加了很简单的一个参数,就成功了实现了对输入窗体的内容的限制。

不知道哪位小伙伴,你Get 了吗?

打开APP阅读更多精彩内容