最近有小伙伴反馈,在日常的工作中,需要用到一个交互的功能
就是需要使用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 了吗?