我很新很抱歉,如果這是一個愚蠢的問題。我想有一個如果聲明指出,如果變量是一組有些整數那麼的元素......將它的工作,如果我寫:你能列出一個條件語句在Excel中的可能值VBA
如果= 1,6,12,19然後
或者我會寫
如果= 1或A = 6或A = 12或一個= 19然後
我很新很抱歉,如果這是一個愚蠢的問題。我想有一個如果聲明指出,如果變量是一組有些整數那麼的元素......將它的工作,如果我寫:你能列出一個條件語句在Excel中的可能值VBA
如果= 1,6,12,19然後
或者我會寫
如果= 1或A = 6或A = 12或一個= 19然後
不,你不能把它寫成if a=1,6,12,19 Then
但也有一些替代品,你可以使用並且他們在answers to this previous question中被覆蓋。這是我在大多數情況下推薦的。
select case userID
case 1,2,3,4,5,6
' do something
end select
如果有任何超過2個條件,我總是用'select case'去。這是一件美麗的事情!別忘了'case else'。這不是必需的,但是在你選擇結束之前把它粘在那裏是一個好習慣,所以你不要忘記這個選項:) – Flibertyjibbet
的InStr
函數可以處理它作爲含有分隔選項的字符串內的分隔的子串。
if cbool(instr(1, "x1x2x3x4x5x6x", format(a, "x0x"))) then
'a is a number between 1 and 6
debug.Print a & " is in 1,2,3,4,5,6"
end if
可以使用Application.Match()
方法
if Not IsError(Application.Match(a,array(1,6,12,19),0) Then
your code
End If
你嘗試了嗎? – Comintern
您可以使用case語句。例如。 '公共功能試驗(a) 選擇案例一個 案例1,2,3,4,5,6 「做一些 結束選擇 結束Function' [VBA相當於SQL的 – RyanL
可能的複製 '中' 功能] (http://stackoverflow.com/questions/17553700/vba-equivalent-to-sql-in-function) – Comintern