我正在执行条件语句,并且已使用VBA自动化电子表格。一切工作正常,直到涉及到这一个公式。我猜测它与文本字符串有关。我曾尝试使用& Chr(34)&之前和之后,它也无法正常工作。公式不在VBA中工作,但在单元格中工作
这里的公式:
=IF(E2="RIA Review",IF(G2<=4,"Green",IF(G2=5,"Yellow","Red")), IF(E2="Delivery",IF(I2<=-7,"Green",IF(I2=-1,"Yellow","Red")),IF(E2="Launch/Close",IF(I2>=121,"Red",IF(I2>=111,"Yellow",IF(I2> =100,"Green","N/A"))),IF(OR(E2="Intent",E2="AE Review",E2="Initial Review",E2="AE Disposition"),IF(G2<=8,"Green",IF(OR(G2=9,G2=10)," Yellow",IF(G2>=11,"Red")))))))
下面是VBA代码(它改变了单元格引用,我仍然有一个很难知道它是否在谈论右边的单元格)
Range("H2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-3]=""RIA Review"",IF(RC[-1]<=4,""Green"",IF(RC[-1]=5,""Yellow"",""Red"")),IF(RC[-3]=""Delivery"",IF(RC[1]<=-7,""Green"",IF(RC[1]=-1,""Yellow"",""Red"")),IF(RC[-3]=""Launch/Close"",IF(RC[1]>=121,""Red"",IF(RC[1]>=111,""Yellow"",IF(RC[1]>=100,""Green"",""N/A""))),IF(OR(RC[-3]=""Intent"",RC[-3]=""AE Review"",RC[-3]=""Initial Review"",RC[-3]=""AE Disposition"")," & _
"]<=8,""Green"",IF(OR(RC[-1]=9,RC[-1]=10),""Yellow"",IF(RC[-1]>=11,""Red"")))))))"
任何帮助将是伟大的!
1)一些错误这里:' “] <= 8”, “绿色”,“'2)'ActiveCell.FormulaR1C1'接受长度小于255个字符长 –
ughghghghg我讨厌这些嵌套公式的公式。而不是建立一个宏来做这样一个丑陋的公式操作,为什么不建立一个宏来执行所需的验证呢?实时更新可以通过工作表的'Change'事件来处理...... –
而不是粗鲁的大卫·泽曼斯 - 为什么没有帮助?你是否曾经认为我是初学者,并且不知道你在说什么?难以让丑陋的嵌套公式发挥作用,但我很自豪,我想到了这一点。我只用了大约3个月的excel和VBA,没有预先的编码经验。下次休息呃真正的帮助,而不仅仅是对寻求帮助的人有意义。 – Krrrcko