看板 Office 關於我們 聯絡資訊
軟體: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 還請指點 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.165.193.116 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1653798241.A.476.html ※ 編輯: bank89902595 (115.165.193.116 臺灣), 05/29/2022 12:24:58 ※ 編輯: bank89902595 (39.8.227.126 臺灣), 05/29/2022 14:48:08
suaveness: If m < 1 Or m > 12 then Exit Sub 這樣試試看?05/29 20:04
mddc62: 為什麼不正面表列 m>=1 and m<=12 then ... end if05/29 21:07
因為另一方面也想知道,假設今天條件有50個,甚至更多,是不是有比or 或 and 更單純 的寫法 ※ 編輯: bank89902595 (39.8.227.126 臺灣), 05/30/2022 00:16:21
newacc: Select Case呢? 05/30 11:10
tncshes86229: https://imgur.com/a/gQvQSHw 05/30 14:44
tncshes86229: 其實上面的寫法也可簡化用迴圈寫,如果今天條件很多 05/30 14:58
tncshes86229: 再用陣列比較好~ 05/30 14:58
waiter337: 直接設定容器就好了 redim (1 to 12) 05/30 23:32
waiter337: 甚至 redim (2000 to 2050 ,1 to 12) 05/30 23:33
waiter337: redim k(1 to 12) 05/30 23:35
waiter337: if 1<=m and m<=12 then debug.print k(m) 05/30 23:36
感謝大家~ ※ 編輯: bank89902595 (115.165.193.116 臺灣), 05/31/2022 21:54:27