Comillas en formula

15/07/2006 - 05:43 por Daniel Pozzi | Informe spam
Hola, esto no me funciona,

Range("J2").FormulaLocal = "=SI(F2="no";"n";SI(I2<=0;"e";"o"))"

supongo será por las comillas internas de la formula la formula en la
planilla, introduciendola a mano, sí funciona correctamente.
Me sugieren una solucion?
Gracias

Daniel

Preguntas similare

Leer las respuestas

#1 Henry Sanchez
15/07/2006 - 15:38 | Informe spam
Hola Daniel,

Ademas de lo que te dice Hector recurda que si estas escribiendo codigo VBA
debes utilizar la coma como separador de agumentos y no el punto y coma que
es lo que aparece en tu mensaje.

Saludos,

Henry

"Héctor Miguel" escribió:

hola, Daniel !

> ... esto no me funciona: Range("J2").FormulaLocal = "=SI(F2="no";"n";SI(I2<=0;"e";"o"))"
> supongo sera por las comillas internas de la formulaintroduciendola a mano, si funciona correctamente.
> ... una solucion?

1) si 'depositas' formulas por codigo, las comillas dobles 'interiores' debes especificarlas como 'dobles' comillas dobles
prueba: -> Range("j2").FormulaLocal = "=si(f2=""no"";""n"";si(i2<=0;""e"";""o""))"

2) si tu codigo se llegara a ejecutar en un excel de diferente idioma y/o configuracion regional [separador de argumentos]
[seguramente] la propiedad 'FormulaLocal' va a fallar :-(
prueba usando la propiedad -simple- de 'Formula', solo que tendrias que especificar las funciones en ingles :-((
pero... el separador de argumentos SIEMPRE sera la coma [excel se encarga de las traducciones pertinentes] ;)
p.e. -> Range("j2").Formula = "=if(f2=""no"",""n"",if(i2<=0,""e"",""o""))"

3) si no conoces con certeza la formula a utilizar en ingles... prueba desde la ventana de inmediato [en el editor de vba]...
p.e. seleccionando una celda que contenga una formula/funcion 'desconocida' con la siguiente instruccion:
? activecell.formula -> una vez que pulses enter, tendras la traduccion en la siguiente linea de la ventana de inmediato ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#2 Daniel Pozzi
15/07/2006 - 16:03 | Informe spam
Gracias a ambos! funciona correctamente. Pero lo del separador ; funciona
bien dentro del código VB escrito dentro de excel., no tengo necesidad
de usar la coma
Saludos

Daniel


"Henry Sanchez" escribió en el
mensaje news:
Hola Daniel,

Ademas de lo que te dice Hector recurda que si estas escribiendo codigo
VBA
debes utilizar la coma como separador de agumentos y no el punto y coma
que
es lo que aparece en tu mensaje.

Saludos,

Henry

"Héctor Miguel" escribió:

hola, Daniel !

> ... esto no me funciona: Range("J2").FormulaLocal =
> "=SI(F2="no";"n";SI(I2<=0;"e";"o"))"
> supongo sera por las comillas internas de la formulaintroduciendola
> a mano, si funciona correctamente.
> ... una solucion?

1) si 'depositas' formulas por codigo, las comillas dobles 'interiores'
debes especificarlas como 'dobles' comillas dobles
prueba: -> Range("j2").FormulaLocal =
"=si(f2=""no"";""n"";si(i2<=0;""e"";""o""))"

2) si tu codigo se llegara a ejecutar en un excel de diferente idioma y/o
configuracion regional [separador de argumentos]
[seguramente] la propiedad 'FormulaLocal' va a fallar :-(
prueba usando la propiedad -simple- de 'Formula', solo que tendrias
que especificar las funciones en ingles :-((
pero... el separador de argumentos SIEMPRE sera la coma [excel se
encarga de las traducciones pertinentes] ;)
p.e. -> Range("j2").Formula =
"=if(f2=""no"",""n"",if(i2<=0,""e"",""o""))"

3) si no conoces con certeza la formula a utilizar en ingles... prueba
desde la ventana de inmediato [en el editor de vba]...
p.e. seleccionando una celda que contenga una formula/funcion
'desconocida' con la siguiente instruccion:
? activecell.formula -> una vez que pulses enter, tendras la
traduccion en la siguiente linea de la ventana de inmediato ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
15/07/2006 - 19:22 | Informe spam
hola, Daiel !

... Pero lo del separador ; funciona bien dentro del codigo VB escrito dentro de excel
no tengo necesidad de usar la coma



el separador que usas 'bajo' los convencionalismos de 'FormulaLocal' -> ; [punto y coma]...
podria fallar SI el caso es que el codigo se ejecuta en un excel/windows/pc...
que tenga configurado un separador de listas/argumentos diferente del punto y coma
[revisa el punto 2 del mensaje anterior] ;)

si cualquier duda... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida