У меня есть формула
-
=IF(K2="Missed KPI",IF(J2<>"null","Entry done after approx. "&ROUNDDOWN(NETWORKDAYS(F2,J2)-1-MOD(F2,1)+MOD(J2,1),0)&" work days"),IF(K2="Milestone Pending-Missed",IF(F2<>"null","Entry
-after"&ROUNDDOWN(NETWORKDAYS(F2,NOW())-1-MOD(F2,1)+MOD(NOW(),1),0)&" work days ago"," "),IF(K2="NA","Entry yet to be done-Order Not Raised- "&H2," ")))
Здесь: K2, J2, F2, H2 - это имена ячеек
Когда я использую эту формулу без написания макроса, она работает правильно. У меня есть много других подобных формул, все работают правильно без MACRO. Когда я записываю MACRO (не кодирую в VBA), когда я пытаюсь запустить MACRO, он выдает мне время компиляции - синтаксическая ошибка.
В приведенной ниже строке указан код VBA (созданный во время записи MACRO) для приведенной выше формулы.
Selection.FormulaR1C1 = _
"=IF(RC[-2]=""Missed KPI"",IF(RC[-3]<>""null"",""Entry done after approx. ""&ROUNDDOWN(NETWORKDAYS(RC[-7],RC[-3])-1-MOD(RC[-7],1)+MOD(RC[-3],1),0)&"" work days""),IF(RC[-2]=""Milestone Pending-KPI Missed"",IF(RC[-7]<>""null"",""Entry - after ""&ROUNDDOWN(NETWORKDAYS(RC[-7],NOW())-1-MOD(RC[-7],1)+MOD(NOW(),1),0)&"" work days ago"","" ""),IF("& _
""NA"",""CCD yet to be done-Order Not Raised- ""&RC[-5],"" "")))
"
Как вы видите, VBA добавил несколько дополнительных двойных кавычек, а также некоторый текст из кода также отсутствует после записи MACRO.
Пожалуйста, помогите мне с решением, так как я застрял здесь и не знаю, почему моя формула не работает.
Для небольшой однострочной формулы она работает нормально, но как только формула переходит на другую строку в VBA (после записи MACRO), что-то не так.
Для этой формулы -
=IF(K2="Approaching Deadline",(24-(NETWORKDAYS(F2,NOW())-1-MOD(F2,1)+MOD(NOW(),1))*24)/24," ")
Записана версия VBA (которая находится в одной строке в коде VBA)
Selection.FormulaR1C1 = _
"=IF(RC[-1]=""Approaching Deadline"",(24-(NETWORKDAYS(RC[-6],NOW())-1-MOD(RC[-6],1)+MOD(NOW(),1))*24)/24,"" "")"
Работает нормально.
Я пытался работать с цитатами и несколькимиРазрыв строки. Все еще не работает.