Macro para utilizar fórmulas de excel

Tengo esta macro y me tira error como lo corrijo

Sub bb()
Range("l12").FormulaLocal = "=SI(J12<>"";SI(E12>=100;-(E12-J12)/E12;-(E12-J12)/E12);"");"")"

End Sub

1 respuesta

Respuesta
1

Tiene que ver con las comillas, que seguramente deberás ponerlas dobles para que te las tome la macro, ya que sino no sabe si está terminando la instrucción o es parte de la fórmula. Debería quedar algo más o menos así (además tenías desbalanceados los paréntesis)

Range("I12").FormulaR1C1 = "=IF(RC[1]<>"""",IF(RC[-4]>=100,-(RC[-4]-RC[1])/RC[-4],-(RC[-4]-RC[1])/RC[-4]),"""")"

Es preferible esa instrucción en lugar de 'FormulaLocal' ya que si algún usuario llega a tener xls en inglés (por ejemplo) tu fórmula no le va a funcionar

Salu2

Hola gustavo sino lo tomas a mal prefería si es lo mismo en formulalocal puede ser

Pues si lo quieres con fórmula local sería:

Range("I12").FormulaLocal = "=SI(J12<>"""";SI(E12>=100;-(E12-J12)/E12;-(E12-J12)/E12);"""")"

Igualmente mientras la estaba reescribiendo veo que el IF que tenés con la condición de >=100 no tiene sentido, ya que ambas evaluaciones hacen la misma cuenta -(E12-J12)/E12

Salu2

Discúlpame gustavo me equivoque en lo que te mande anteriormente esta es la fórmula

=SI.ERROR(SI(J12<>"";SI(E12>=100;-(E12-J12)/E12;-(E12-J12)/E12);"");"")

Y la quiero con formulalocal por favor

Y te hago otra pregunta cualquier fórmula que yo haga en la hoja de calculo si la quiero hacer por medio de una macro que tengo que tener en cuenta

Ajustala acorde a lo que te puse yo como fórmula

La última pregunta no llego a interpretarla cual es, a priori te recomiendo que uses la grabadora de macros

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas