Hola Javier:

 

Lo primero que se me ocurre es que la fórmula se esté evaluando antes de que
se cargue el Add-in.

¿Se trata de un Excel Add-in (archivo *.xlam) o de un COM Add-in?

 

Seguimos, Gus

 

From: [email protected] [mailto:[email protected]] On Behalf Of Javier
Osvaldo Chércoles
Sent: lunes, 14 de febrero de 2011 15:38
To: [email protected]
Subject: [puntonet] Pegar función desde C# en una celda de Excel.

 



 Estimados, después de mucho intentar los molesto a Uds. Estoy creando y
escribiendo un archivo de Excel desde una aplicación en C#, a modo de
reporte. En el mismo pego en una celda la función NETWORKDAYS() para
calcular los días laborales transcurridos entre dos fechas. En la celda
donde pego esto me da el error #NAME?, que si le quito el tilde en la
ventana de Add-in y lo vuelvo a tildar y hago un recalculo sobre la formula,
devuelve el valor. Probe con otras funciones y me sucedio lo mismo, pero
cuando cambie la "cultura" comenzaron a funcionar, pero con NETWORKDAYS(),
no puedo lograrlo. En el Excel esta activado el Add-in que necesita para
usar la función, y si no lo quito, lo vuelvo a poner y recalculo sobre cada
celda, no me sirve presionar F9, tengo que hacer F2 (Editar) y aceptar para
que tome el valor. 
 
Lo que pego en la celda es:
 
rng y rng2 son rangos definidos de una celda, para pegar la función.
rng.FormulaR1C1 = "=NETWORKDAYS(" + rng2.get_Address((object)f,
(object)iColDestine, Excel.XlReferenceStyle.xlR1C1, Missing.Value,
Missing.Value) + ", TODAY(), 1)";
 
En la celda escrito veo:
 
=NETWORKDAYS($G$2; TODAY(); 1)
 
Pero aparece el error #NAME?
 
Si quiero leer la celda desde VBA, me da Error 2029 o Run-time error '13':
Type Mismatch.
 
Gracias a cualquier ayuda.
 
Javier O. Chércoles




Responder a