用macroslogging器logging长Excel公式的问题

我试图在Excel中logging我的公式macros,它给我一个语法错误。

这是公式:

=IF(AND(OR(B2="toola",B2="toola1",B2="toola2",B2="SFx200"),OR(H2="Q1",H2="Q2",H2="Q3",H2="Q4")),CONCATENATE(H2," "," ",IF(I2="p","pre","")," ","SFx","-",IF(A2="",0,A2)),IF(AND(OR(B2="toolb",B2="toolb1",B2="toolb2",B2="toolb3",B2="yoolb4",B2="toolb4",B2="toolb5",B2="toolb6",B2="toolb7",B2="toolb8",B2="toolb9",B2="toolb10",B2="toolb11",B2="toolb12"),OR(H2="Q1",H2="Q2",H2="Q3",H2="Q4")),CONCATENATE(H2," ",IF(I2="p","pre",""),"-"," ",IF(A2="",0,A2)),IF(AND(OR(B2="up",B2="up1",B2="up2",B2="up3",B2="up4",B2="up5",B2="Up6",B2="up7"),OR(H2="Q1",H2="Q2",H2="Q3",H2="Q4")),CONCATENATE(H2," ","UP","-",IF(A2="",0,A2))))) 

我知道这很大,但为什么macroslogging器不能正确logging呢?

macroslogging器没有用长公式,因为它覆盖了一些公式string,当它为VB编辑器添加行连续时。 您可能需要自己编辑代码或缩短公式 – 例如使用诸如OR(H2={"Q1","Q2","Q3","Q4"})而不是OR(H2="Q1",H2="Q2",H2="Q3",H2="Q4")

另外如果可能的话replace这样的东西:

 OR(B2="toolb",B2="toolb1",B2="toolb2",B2="toolb3",B2="yoolb4",B2="toolb4",B2="toolb5",B2="toolb6",B2="toolb7",B2="toolb8",B2="toolb9",B2="toolb10",B2="toolb11",B2="toolb12") 

有了这个

 LEFT(B2,5)="toolb" 

如果超过7次, if excel不想工作。 因此,你应该绕过它。 Select Case

或者像这样,当嵌套ifs在公式中: https : //www.techonthenet.com/excel/macros/if_custom.php

你可以根据需要去尽可能多的cases 。 然后只需使用自定义公式。