Erro ao enviar uma fórmula para a célula por código

Bom dia. Estou tentando enviar por código a fórmula abaixo para a célula P39, mas não está dando certo.

	SheetPensaoAlim.GetCellRangeByName("P39").Formula = "=SE(E(OU(G7=""0"";E7="""");J4="""");0;SE(E(G24=""1"";E24=""SELEC PARC REM (%)"";F24>0; G28=""1"";S22=""1"");SE(E(G24=""1"";E24=""SELEC PARC REM (%)""; F24>0;E28=""1ª PARCELA"");P42/2;SE(E(G24=""1"";E24=""SELEC PARC REM (%)""; F24>0;E28=""2ª PARCELA"");(((SE(S9=""1"";Q9;0)+SE(S10=""1"";Q10;0)+SE(S11=""1"";Q11;0)+SE(S12=""1"";Q12;0)+SE(S13=""1"";Q13;0)+SE(S15=""1"";Q15;0)+SE(S18=""1"";Q18;0)+SE(S20=""1"";Q20;0))-((((SE(S9=""1"";Q9;0)+SE(S10=""1"";Q10;0)+SE(S11=""1"";Q11;0)+SE(S12=""1"";Q12;0)+SE(S13=""1"";Q13;0)+SE(S15=""1"";Q15;0)+SE(S18=""1"";Q18;0)+SE(S20=""1"";Q20;0))-(F21*$ImpRenda.B14))*(PROCV((SE(S9=""1"";Q9;0)+SE(S10=""1"";Q10;0)+SE(S11=""1"";Q11;0)+SE(S12=""1"";Q12;0)+SE(S13=""1"";Q13;0)+SE(S15=""1"";Q15;0)+SE(S18=""1"";Q18;0)+SE(S20=""1"";Q20;0));$ImpRenda.B3:$ImpRenda.E7;3;1)))-(PROCV((SE(S9=""1"";Q9;0)+SE(S10=""1"";Q10;0)+SE(S11=""1"";Q11;0)+SE(S12=""1"";Q12;0)+SE(S13=""1"";Q13;0)+SE(S15=""1"";Q15;0)+SE(S18=""1"";Q18;0)+SE(S20=""1"";Q20;0));$ImpRenda.B3:$ImpRenda.E7;4;1))))*F24)-P42/2;0));(SE(E(G24=""1"";E24=""SOBRE O SOLDO (%)"";F24>0; G28=""1"";S22=""1"");(Q9*F24/100)/2;SE(E(G24=""1"";E24=""SAL MIN (%)"";F24>0; G28=""1"";S22=""1"");($ImpRenda.B18*F24/100)/2;SE(E(G24=""1"";E24=""VAL FIXO (R$)"";F24>0; G28=""1"";S22=""1"");F24/2;0))))))"

Toda vez que executo o procedimento a fórmula até vai para a célula, mas ao invés de aparecer o valor, aparece #NOME?.
O mais estranho é que se eu simplesmente copiar a formula que foi enviada e colar em outra célula, funciona!

Tem alguma outra maneira de enviar fórmula para uma célula?

Se alguém puder dar uma força, eu agradeço!

Obs.: Não tive como colocar uma planilha de exemplo tendo em vista a quantidade de células referenciadas na fórmula

Tem comando de inserir formulas que é obrigatório a formula estar em inglês na macro. Não sei dizer se este comando é este caso, não poso testar agora. Mas tente coloca em inglês.

Deu certo!!! Troquei as funções SE, E, OU e PROCV por IF, AND, OR e VLOOKUP e deu certo.
Segue o modelo em anexo para o caso de outros precisarem.

Teste.ods (11.8 KB)

1 Like