[問題] 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