Funciones definidas por el usuario

08/07/2005 - 10:56 por Juan | Informe spam
Hola a todos,

quiero crear una función definida por mí para poder aplicar un cálculo
complejo mediante una fórmula sencilla. ¿Puede hacerse sin VBA, o sólo es
posible con VBA?

Gracias y un saludo

Preguntas similare

Leer las respuestas

#1 KL
08/07/2005 - 11:20 | Informe spam
Hola Juan,

...crear una función definida por mí...
...¿Puede hacerse sin VBA



Que yo sepa, si dominas C++ y has obtenido el SDK de Excel (Office?) es
posible. Pero si lo anterior te suena a clave, habria que eligir entre VBA y
algun que otro truquillo en la hoja de calculo (de hecho, a veces se
obtienen buenos resultados combinando ambas cosas). Tambien es posible que
tu funcion ya exista aqui:

en ingles
http://xcell05.free.fr/english/index.html

en frances
http://xcell05.free.fr/pages/telecharge/index.html

De todas formas, si explicas la situacion concreta y con mas detalle
podriamos pensar en alguna solucion.

Saludos,
KL
Respuesta Responder a este mensaje
#2 JuanAdventure
10/07/2005 - 01:45 | Informe spam
El caso es que tengo una fórmula que calcula un mes posterior a una fecha
dada. Pero si esa fecha (la nueva, no la original) es sábado o domingo, la
fecha que presenta es la del siguiente día laborable. Si la fecha inical es
14 de marzo de 2004, la siguiente debería ser 14 de abril de 2004. Y después
14 de mayo de 2004. Si por ejemplo el 14 de mayo de 2004 fuese domingo, la
fecha que se mostraría es el 15 de mayo de 2004, y en la siguiente, no se
suma un mes (eso me daría como resultado el 15 de junio) sino que se intenta
el 14 de junio, y, si no es sábado ni domingo, se queda como 14 de junio (si
el 14 es saábado, me muestra un 16 y si es domingo, un 15).
El caso es que la fórmula funciona perfectamente pero es compleja de
entender para quien no la ha escrito. Me piden que sea una fórmula más
sencilla de utilizar para futuros usuarios, y pensé en funciones definidas
por el usuario, pero yo estoy convencido de que eso solo es posible via VBA
y mi jefe insiste es que no es necesario.
¿Preparo esta función en VBA, o tiene razón mi jefe y basta con una fórmula
de Excel bien hecha?
En todo caso, no me puedo creer que sea el primero que se enfrenta a esta
disyuntiva.
Gracias y un saludo
"KL" escribió en el mensaje
news:%
Hola Juan,

...crear una función definida por mí...
...¿Puede hacerse sin VBA



Que yo sepa, si dominas C++ y has obtenido el SDK de Excel (Office?) es
posible. Pero si lo anterior te suena a clave, habria que eligir entre VBA
y algun que otro truquillo en la hoja de calculo (de hecho, a veces se
obtienen buenos resultados combinando ambas cosas). Tambien es posible que
tu funcion ya exista aqui:

en ingles
http://xcell05.free.fr/english/index.html

en frances
http://xcell05.free.fr/pages/telecharge/index.html

De todas formas, si explicas la situacion concreta y con mas detalle
podriamos pensar en alguna solucion.

Saludos,
KL



Respuesta Responder a este mensaje
#3 Héctor Miguel
10/07/2005 - 05:37 | Informe spam
hola, Juan !

... tengo una formula que calcula un mes posterior a una fecha dada
... si esa fecha... es sabado o domingo... presenta... la del siguiente dia laborable
... la formula funciona... pero es compleja de entender para quien no la ha escrito
... piden que sea... mas sencilla... para futuros usuarios, y pense en funciones definidas por el usuario
... estoy convencido de que eso solo es posible via VBA y mi jefe insiste es que no es necesario
... tiene razon mi jefe y basta con una formula de Excel bien hecha?
... no me puedo creer que sea el primero que se enfrenta a esta disyuntiva.



-> si suponemos que en la celda 'A1' pones la 'fecha dada'
y que en la celda 'A2' indicas cuantos 'meses despues' sera 'trasladada' esa fecha [1, 2, 3...]...
haz una prueba con la siguiente formula:
=fecha.mes(a1,a2)+indice({1\0\0\0\0\0\2},diasem(fecha.mes(a1,a2)))
si tu excel es en ingles... la formula 'aplicable' seria la siguiente:
=edate(a1,a2)+index({1;0;0;0;0;0;2},weekday(edate(a1,a2)))
-> [probablemente] deberas instalar y 'habilitar' el complemento de 'herramientas para analisis'
[o en ingles... el analysis toolpack]
-> toma nota que 'mi' separador de argumentos es la coma ',' NO punto y coma ';'
[y el separador de 'filas' para matrices constantes es '\']

si tus necesidades son 'mas complejas' que los supuestos anteriores...
comentas datos adicionales ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida