Ayuda sobre excel 2003, funcion f(x)

14/12/2007 - 06:47 por Roger | Informe spam
Alguien me podria ayudar, uso la version de Excel 2003, y estoy creando una
macro sencilla en VBA dentro de una hoja, para graficar funciones
matemáticas, sin embargo al crearla en esta versión se genera un error.

Function f(x)
f = x ^ 2
End Function

En la casilla B3, estoy asignando el valor de 6
En la casilla C3, estoy asignando el valor de la función =f(B3), y entonces
al verificar los datos me da un mensaje de error, error en la formula, he
checado los datos introducidos con detalle y son correctos, ademas he
introducido los mismos datos en Excel 2002, y ahí funciona bien me devuelve
los datos correctos.
Por su ayuda.


gracias.
Roger.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/12/2007 - 06:58 | Informe spam
hola, Roger !

es probable que la funcion de la que hablas (la real) este utilizando librerias que no estan instaladas (donde falla)
verifica (en la version donde falla) en el editor de vba desde (menu) herramientas / referencias...
-> si aparece alguna que diga: FALTA:xxx o MISSING:xxx

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la consulta original __
... Excel 2003... creando una macro sencilla en VBA dentro de una hoja, para graficar funciones matematicas
sin embargo al crearla en esta version se genera un error.
Function f(x)
f = x ^ 2
End Function
En la casilla B3, estoy asignando el valor de 6
En la casilla C3, estoy asignando el valor de la funcion =f(B3)
y entonces al verificar los datos me da un mensaje de error, error en la formula
he checado los datos introducidos con detalle y son correctos
ademas he introducido los mismos datos en Excel 2002, y ahi funciona bien me devuelve los datos correctos.
Respuesta Responder a este mensaje
#2 Roger
14/12/2007 - 17:38 | Informe spam
Hola Hector Miguel, gracias por responderme, he revisado la información con
tus comentarios, no aparece ninguna con esos comentarios, ya te diste cuenta
que soy novato, no se si en algún lugar este documentado algo sobre el uso de
esa funcion en la vesion 2003 de excel.
gracias.
Roger.


"Héctor Miguel" escribió:

hola, Roger !

es probable que la funcion de la que hablas (la real) este utilizando librerias que no estan instaladas (donde falla)
verifica (en la version donde falla) en el editor de vba desde (menu) herramientas / referencias...
-> si aparece alguna que diga: FALTA:xxx o MISSING:xxx

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la consulta original __
> ... Excel 2003... creando una macro sencilla en VBA dentro de una hoja, para graficar funciones matematicas
> sin embargo al crearla en esta version se genera un error.
> Function f(x)
> f = x ^ 2
> End Function
> En la casilla B3, estoy asignando el valor de 6
> En la casilla C3, estoy asignando el valor de la funcion =f(B3)
> y entonces al verificar los datos me da un mensaje de error, error en la formula
> he checado los datos introducidos con detalle y son correctos
> ademas he introducido los mismos datos en Excel 2002, y ahi funciona bien me devuelve los datos correctos.



Respuesta Responder a este mensaje
#3 Héctor Miguel
14/12/2007 - 18:28 | Informe spam
hola, Roger !

... no aparece ninguna con esos comentarios
... no se si en algun lugar este documentado algo sobre el uso de esa funcion en la vesion 2003 de excel.



la funcion personalizada que expones en esta consulta:
Function f(x)
f = x ^2
End Function

1) si la estas definiendo (realmente) asi de "simple y llana" (exactamente como en tu ejemplo) solo te puedo comentar que:
a) existen ciertas "reglas" para definir nombres tanto en excel (rangos, hojas, ...) como en vba (variables, procedimientos, ...)
b) en cada version (seguramente) se va incrementando una lista de palabras/caracteres/... "reservados" para uso exclusivo
ejemplo: en ninguna version de excel puedes "nombrar" un rango como (solo) "C" (si no recuerdo mal, desde la version 4 inclusive)

2) segun pruebas realizadas luego de esta informacion...
-> a partir de la version 2003 la (sola) letra "F" pasa a ser de uso exclusivo (para vba)
o sea, no se puede "nombrar" un procedimiento (sub o function) como solo "F"

3) posibilidades de solucion ?... -> procura usar/dar/asignar/... "nombres" (en toda forma aplicable)...
NO (excesivamente) laaarrrggggos
NO (demasiado) cortos
mas bien, "suficientemente" cortos y a la vez "suficientemente" descriptivos/significativos/obvios/...

saludos,
hector.

__ las consultas anteriores __
es probable que la funcion de la que hablas (la real) este utilizando librerias que no estan instaladas (donde falla)
verifica (en la version donde falla) en el editor de vba desde (menu) herramientas / referencias...
-> si aparece alguna que diga: FALTA:xxx o MISSING:xxx

__ la consulta original __
> ... Excel 2003... creando una macro sencilla en VBA dentro de una hoja, para graficar funciones matematicas
> sin embargo al crearla en esta version se genera un error.
> Function f(x)
> f = x ^ 2
> End Function
> En la casilla B3, estoy asignando el valor de 6
> En la casilla C3, estoy asignando el valor de la funcion =f(B3)
> y entonces al verificar los datos me da un mensaje de error, error en la formula
> he checado los datos introducidos con detalle y son correctos
> ademas he introducido los mismos datos en Excel 2002, y ahi funciona bien me devuelve los datos correctos.
Respuesta Responder a este mensaje
#4 Roger
14/12/2007 - 21:04 | Informe spam
Hector, gracias por tu interes en ayudarme, la funcion así definida es parte
de las funciones que se pueden elegir en excel, en el icono de insertar
funciones fx, incluso así esta documentado en diferentes libros, yo primero
creo la macro dónde defino la funcion como inicialmente la describo, y
despues cierro el modulo de macros/VBA y la defino en la casillas dónde
requiero que se aplique el cálculo, mira la razon de preguntar es que voy a
programar algunas formulas (funciones un poco complejas y muy repetitivas),
ademas ahora tengo instalada esa version de Excel 2003.

Saludos y gracias.
Roger.


"Héctor Miguel" escribió:

hola, Roger !

> ... no aparece ninguna con esos comentarios
> ... no se si en algun lugar este documentado algo sobre el uso de esa funcion en la vesion 2003 de excel.

la funcion personalizada que expones en esta consulta:
Function f(x)
f = x ^2
End Function

1) si la estas definiendo (realmente) asi de "simple y llana" (exactamente como en tu ejemplo) solo te puedo comentar que:
a) existen ciertas "reglas" para definir nombres tanto en excel (rangos, hojas, ...) como en vba (variables, procedimientos, ...)
b) en cada version (seguramente) se va incrementando una lista de palabras/caracteres/... "reservados" para uso exclusivo
ejemplo: en ninguna version de excel puedes "nombrar" un rango como (solo) "C" (si no recuerdo mal, desde la version 4 inclusive)

2) segun pruebas realizadas luego de esta informacion...
-> a partir de la version 2003 la (sola) letra "F" pasa a ser de uso exclusivo (para vba)
o sea, no se puede "nombrar" un procedimiento (sub o function) como solo "F"

3) posibilidades de solucion ?... -> procura usar/dar/asignar/... "nombres" (en toda forma aplicable)...
NO (excesivamente) laaarrrggggos
NO (demasiado) cortos
mas bien, "suficientemente" cortos y a la vez "suficientemente" descriptivos/significativos/obvios/...

saludos,
hector.

__ las consultas anteriores __
>> es probable que la funcion de la que hablas (la real) este utilizando librerias que no estan instaladas (donde falla)
>> verifica (en la version donde falla) en el editor de vba desde (menu) herramientas / referencias...
>> -> si aparece alguna que diga: FALTA:xxx o MISSING:xxx

>> __ la consulta original __
>> > ... Excel 2003... creando una macro sencilla en VBA dentro de una hoja, para graficar funciones matematicas
>> > sin embargo al crearla en esta version se genera un error.
>> > Function f(x)
>> > f = x ^ 2
>> > End Function
>> > En la casilla B3, estoy asignando el valor de 6
>> > En la casilla C3, estoy asignando el valor de la funcion =f(B3)
>> > y entonces al verificar los datos me da un mensaje de error, error en la formula
>> > he checado los datos introducidos con detalle y son correctos
>> > ademas he introducido los mismos datos en Excel 2002, y ahi funciona bien me devuelve los datos correctos.



Respuesta Responder a este mensaje
#5 Héctor Miguel
14/12/2007 - 21:22 | Informe spam
hola, Roger !

... primero creo la macro donde defino la funcion como inicialmente la describo
... despues cierro el modulo de macros/VBA y la defino en la casillas donde requiero que se aplique el calculo
... la razon de preguntar es que voy a programar algunas formulas (funciones un poco complejas y muy repetitivas)
... ahora tengo instalada esa version de Excel 2003.



considera lo siguiente como una "prueba" de si el nombre de la funcion que estas definiendo es "aceptable" para excel:

a) introduce (como formula) en alguna celda el signo '=' {+} el nombre de la funcion {+} el parentesis de apertura =f(
b) pulsa la combinacion de teclas {ctrl}+{shift}+a
estos pasos debieran dejar en la celda/barra de formulas la "sintaxis" completa de la funcion que estes usando...
con el primer (o unico) de sus argumentos como "seleccionado" (en la celda / barra de formulas)
-> OJO: si excel "te cierra" la funcion SIN dejar seleccionado el argumento... es casi seguro que el nombre de la funcion "no pasa"

c) cambia el nombre de la funcion (y obviamente sus referencias durante el desarrollo en el codigo) p.e. a:

Function Fx(x)
Fx = x ^ 2
End Function

repite el procedimiento anterior y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la propuesta anterior __
la funcion personalizada que expones en esta consulta:
Function f(x)
f = x ^ 2
End Function

1) si la estas definiendo (realmente) asi de "simple y llana" (exactamente como en tu ejemplo) solo te puedo comentar que:
a) existen ciertas "reglas" para definir nombres tanto en excel (rangos, hojas, ...) como en vba (variables, procedimientos, ...)
b) en cada version (seguramente) se va incrementando una lista de palabras/caracteres/... "reservados" para uso exclusivo
ejemplo: en ninguna version de excel puedes "nombrar" un rango como (solo) "C" (si no recuerdo mal, desde la version 4 inclusive)

2) segun pruebas realizadas luego de esta informacion...
-> a partir de la version 2003 la (sola) letra "F" pasa a ser de uso exclusivo (para vba)
o sea, no se puede "nombrar" un procedimiento (sub o function) como solo "F"

3) posibilidades de solucion ?... -> procura usar/dar/asignar/... "nombres" (en toda forma aplicable)...
NO (excesivamente) laaarrrggggos
NO (demasiado) cortos
mas bien, "suficientemente" cortos y a la vez "suficientemente" descriptivos/significativos/obvios/...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida