Insertar fórmula en celda excel desde visual basic

Llevo varios días dándole vueltas a un problema sin conseguir resolverlo. He mirado en ayudas, foros, etc, pero aunque si he encontrado el mismo problema, no he encontrado la solución.
Resulta que estoy programando una macro en excel y en un paso dado, he intentado introducir una fórmula en una celda, pero me sale: Error 1004 "Error definido por la aplicación o el objeto".
La línea en la que me da error es:
Worksheets("TablasDatos").Cells(81 + nudo + n, 2).value = celdaecuacionmalla
La fórmula es larga, pero sólo con que el valor de la variable tipo string celdaecuacionmalla sea (recortando la variable) "=0,0826*SIS!AM8" ya me da error
Introduciendo la fórmula manualmente no da error en excel, por lo que la fórmula está bien.
Si modifico la variable celdaecuacionmalla para insertar un espacio al principio antes de la línea de código en la que me da error, entonces inserta el texto en la celda, pero no evalúa la fórmula, queda como si fuerte texto. Es decir, queda la celda con el valor " =0,0826*SIS!AM8", pero sin darme el resultado del producto; luego si voy a la celda, quito el espacio al principio y pulso intro, evalúa correctamente la fórmula.
He probado a cambiar el valor de value por Fórmula, también he probado FormulaLocal, pero me da error igualmente. También he probado con Range en lugar de Cells.

1 respuesta

Respuesta
En la fórmula, prueba a cambiar la coma (,) por un punto (.)
En lugar de : "=0,0826*SIS!AM8"
Poner: "=0.0826*SIS!AM8"
Gracias por tu pronta respuesta. Al final lo he solucionado con un largo prueba y error y sin que la solución tenga lógica, pero me dejó de dar fallo.
La línea de código la cambien como sigue:
Worksheets("TablasDatos").Cells(81 + nudo + n, 2).FormulaLocal= celdaecuacionmalla
y la variable celdaecuacionmalla, la empecé así:
"=PRODUCTO(0,0826;SIS!AM8)*SIS!AN8*...+0,0826*SIS!AM12*..."  y un largo etc, donde antes tenía:
"=0,0826*SIS!AM8*SIS!AN8*...+0,0826*SIS!AM12*..."
Simplemente por empezar diferente la variable, no da error. Explicación ...¬¬, no se, pero ahora funciona.
Qué bien!
Si ya no hay más que decir.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas