0
我想減少If ... Then ... Else語句的代碼量並嘗試使用IIf(expression,true,false)來設置變量。我有一個問題,在某種程度上變量設置爲0,這是很煩人的。Excel VBA內聯IF語句使變量0
例如:
'Declarations for testing (changing currenty to work for bot and top)
xval = 15
currenty = 20
largebot = 5
largecen = 5
largetop = 5
這一個工程:
largebot = IIf(xval > largebot, IIf(currenty >= -1 And currenty <= 21, xval, largebot), largebot)
但是這一次沒有:
largetop = IIf(xval > largetop, IIf(Range("B2").Value = "RED or BLUE", IIf(material = 18, IIf(currenty >= 41 And currenty <= 64, xval, largetop), IIf(currenty >= 26 And currenty <= 64, xval, largetop)), IIf(currenty >= 22 And currenty <= 49, largetop = xval, largetop)), largetop)
'----------COMMENTS TO EXPLAIN DESIRED OUTCOME-------
'If the xval is greater than the highest x value (largetop),
'And if this is for RED or BLUE machines,
'And if on 18 in. material,
'And within the correct range on the material, xval. (largetop should be the value of xval)
'If on 24 in. material (not 18 in.),
'And within the correct range for 24 in. material, xval. (largetop should be the value of xval)
'If not for RED or BLUE machines (GREEN machine, then),
'If within the correct range, (both 18 in. and 24 in. are in the same range)
'largetop should be the value of xval.
'The remaining false statements keep current value.
感謝您張貼您的發現!很高興橡皮鴨幫助你:) – puzzlepiece87