[问题] VBA如何用一条IF完成多条件,Array可行吗

楼主: bank89902595 (阿虎几)   2022-05-29 12:23:59
软件:Excel
版本:365
执行VBA时会先要求输入月份,若输入1~12以外的值要终止
先设月份容器是m
IF m < 1 then
Exit Sub
ElseIF m > 12 then
Exit Sub
End if
但也有可能误植成其他值,所以想完全排除1~12以外的值
也不可能将每一条可能会打错得条件都写进去
有想到用Array但不太明白怎么写
目前这样写是跑不动的,不知道错在哪?
Dim k as String
k = Array("1","2","3","4","5","6","7","8","9","10"."11","12")
IF m <> k then
Exit Sub
End
还请指点 谢谢
作者: suaveness (靜夏)   2022-05-29 20:04:00
If m < 1 Or m > 12 then Exit Sub 这样试试看?
作者: mddc62 (多笨多健康)   2022-05-29 21:07:00
为什么不正面表列 m>=1 and m<=12 then ... end if
作者: newacc (XD)   2022-05-30 11:10:00
Select Case呢?
作者: tncshes86229 (葱)   2022-05-30 14:44:00
https://imgur.com/a/gQvQSHw其实上面的写法也可简化用循环写,如果今天条件很多再用阵列比较好~
作者: waiter337 (给开司一罐苏格登)   2022-05-30 23:32:00
直接设定容器就好了 redim (1 to 12)甚至 redim (2000 to 2050 ,1 to 12)redim k(1 to 12)if 1<=m and m<=12 then debug.print k(m)

Links booklink

Contact Us: admin [ a t ] ucptt.com