[VBA ] IF 判斷式

看板Visual_Basic作者 (Andy)時間6年前 (2018/03/31 20:27), 6年前編輯推噓0(007)
留言7則, 3人參與, 6年前最新討論串1/1
大家好,我想要在VBA中使用IF判斷條件, 因為用函數好像沒辦法串聯。 條件如下: suggest push in = A>0, B<0 suggest push out= A>0, B>0 no demand suggest push out= A=0, C or D or E>0 Excel 函數如下: =IF(AND(A2>0,B2<0),"suggest push in","") =IF(AND(A2>0,B2>0),"suggest push out","") =IF(AND(A4=0,OR(C4>0,D4>0,E4>0)),"no demand sugggest push in","") 表格圖片如下: [img]https://imgur.com/lLtFRGK[img]
_______________________________________________________________________ VBA code如下: Sub test() lastrow = Range("F" & Rows.Count).End(xlUp).Row For Each cell In Range("F2:F" & lastrow) A = "A2: A" B = "B2: B" C = "C2: C" D = "D2: D" E = "E2: E" If A > 0 & B > 0 Then cell.Value = "suggest push out" ElseIf A > 0 & B < 0 Then cell.Value = "suggest push in" ElseIf (C > 0 Or D > 0 Or E > 0) And A = 0 Then cell.Value = "no demand sugggest push in" End If Next End Sub _______________________________________________________________________ 跑後只有push in的result出現在F1,F2,不曉得是範圍抓錯還是定義有誤。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.148.115 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1522499242.A.61A.html ※ 編輯: balalala10 (36.228.148.115), 03/31/2018 20:28:08

03/31 22:58, 6年前 , 1F
函數可以串成一個
03/31 22:58, 1F

04/01 14:36, 6年前 , 2F
不會吧你怎麼會這樣取值 你這樣ABCDE只是五個字串啊
04/01 14:36, 2F

04/03 17:55, 6年前 , 3F
你宣告了一個lastrow但卻沒用到...
04/03 17:55, 3F

04/03 17:56, 6年前 , 4F
dim A,B,C,D as range
04/03 17:56, 4F

04/03 17:57, 6年前 , 5F
A=range(cells(2,"A"),cells(lastrow,"A"))
04/03 17:57, 5F

04/03 17:58, 6年前 , 6F
IF A.value>0 & B.value<0 then
04/03 17:58, 6F

04/03 17:58, 6年前 , 7F
你試試看,把宣告的部分跟條件部分改掉,應該就可以了
04/03 17:58, 7F
文章代碼(AID): #1QltwgOQ (Visual_Basic)
文章代碼(AID): #1QltwgOQ (Visual_Basic)