Para Hector o ...

19/02/2004 - 14:37 por Juan Martínez | Informe spam
En una respuesta que das sobre añadir el código de
conversión de numeros a letras comentas que es necesario
añadirlo al libro de macros personal para tenerlo
disponible en todos los libros de excel. Yo lo he
intentado pero no lo consigo.

Como dices, yo creo una macro, por ejemplo, convertir. La
grabo en el libro de macros personal. Abro el Editor de
Visual Basic y pego el codigo que das dentro de Sub
Convertir() , es decir, Function EnLetras(Valor). ¿es
así?

Por otra parte, ¿qué hago a continuación en la hoja de
cálculo para que ejecutando la macro me convierta una
celda en letras?

Podrías ser explícito.

Muchas gracias por anticipado.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
20/02/2004 - 03:24 | Informe spam
hola, Juan !

... sobre añadir el codigo de conversion de numeros a letras ...
... comentas que es necesario añadirlo al libro de macros personal para tenerlo disponible en todos los libros de excel [...]



'sobre' el libro de macros 'pesonal.xls' [y solo 'por si no lo sabias'] :)) ...
1.- su 'objetivo' es que todos 'sus' procedimientos esten disponibles para todos los libros [durante la sesion]
[a menos que los declares como 'Private' o en el modulo que los contiene pongas la declaracion 'Option Private Module']
2.- requisito INDISPENSABLE es que LA VENTANA del archivo este oculta
=> NO 'confundir' con el atributo oculto de un archivo en el sistema operativo <3.- [posiblemente] 'perderas' la presentacion de un libro en blanco al 'arrancar' [solamente] excel :((

para que dicha funcion este 'disponible' para cualquier libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de macros 'Personal.xls'
si no has 'generado' tu libro de macros 'personales'... lo puedes crear [p.e. la forma mas 'simple' es:]
'generando' una [nueva?] macro ... => herramientas -> macro -> grabar nueva macro... <y en en las opciones de la macro => Guardar macro en: Libro de macros personal <la aplicacion [excel] 'se encargara' de grabarlo en el directorio de inicio.
editas [o borras... o sustituyes] la macro grabada y 'pones' ahi el codigo de la funcion

la forma de ejecutarla es igual que una funcion de hoja de calculo 'cualquiera' [p.e.]
=Nombre_de_la_funcion(Celda_con_el_valor)
['dependiendo' de cual funcion vayas a usar, es posible que 'acepte' otros argumentos]

si cualquier duda... ¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Juan Martínez
20/02/2004 - 09:02 | Informe spam
Hola Hector! Lo siento pero sigo sin aclararme.

'sobre' el libro de macros 'pesonal.xls' [y solo 'por si


no lo sabias'] :)) ...
1.- su 'objetivo' es que todos 'sus' procedimientos esten


disponibles para todos los libros [durante la sesion]

Entendido pero a que te refieres con ¿durante la sesión?

[a menos que los declares como 'Private' o en el


modulo que los contiene pongas la declaracion 'Option
Private Module']

2.- requisito INDISPENSABLE es que LA VENTANA del archivo


este oculta
=> NO 'confundir' con el atributo oculto de un


archivo en el sistema operativo <
¿ventana del archivo? y ¿esté oculta?

3.- [posiblemente] 'perderas' la presentacion de un libro


en blanco al 'arrancar' [solamente] excel :((

¿¿¿a que te refieres?????


para que dicha funcion este 'disponible' para cualquier


libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de


macros 'Personal.xls'si no has 'generado' tu libro de
macros 'personales'... lo puedes crear [p.e. la forma
mas 'simple' es:]
'generando' una [nueva?] macro ... => herramientas ->


macro -> grabar nueva macro... <>y en en las opciones de la macro => Guardar macro en:
Libro de macros personal <>la aplicacion [excel] 'se encargara' de grabarlo en el
directorio de inicio.
editas [o borras... o sustituyes] la macro grabada


y 'pones' ahi el codigo de la funcion

Guardo una macro "Convertir" en mi libro de macros
personales. Abro el editor de VB y veo en Personal.xls,
Modulo1 el código Sub Convertir() End Sub, lo borro y pego
Function EnLetras(Valor)..Esto lo hago y no me funciona.
Me da un mensaje en la celda de ¿#Nombre



la forma de ejecutarla es igual que una funcion de hoja


de calculo 'cualquiera' [p.e.]
=Nombre_de_la_funcion(Celda_con_el_valor)
['dependiendo' de cual funcion vayas a usar, es posible


que 'acepte' otros argumentos]

Si no la grabo en el libro de macros personales sale
correctamente. Así que este paso OK.

si cualquier duda... ¿comentas?
saludos,
hector.



¿Podrías en todo caso enviarme una libro con un ejemplo.
Mi correo es ?

Muchas gracias
Respuesta Responder a este mensaje
#3 Servando
20/02/2004 - 18:16 | Informe spam
Juan:

En ocasiones en el animo de dar la mayor información
posible, podemos llegar a confundir más a quien queremos
proporcionar la ayuda, sobre todo porque no sabemos cual
es el nivel de conocimientos que tengas y lo que para uno
resulta obvio, para otro es desconocido.

Yo te sugiero que tomes el comentario de Hector a partir
de este texto hacia abajo y olvides de momento lo demás.

para que dicha funcion este 'disponible' para cualquier
libro [sin tener que copiarla a cada libro]

Adicionalmente te sugiero lo siguiente..
Una vez creada la funcion, haz uso de del asistente de
funciones y busca dicha funcion entre las de la
categoría "Definidas por el usuario", luego seleccionas
la funcion "EnLetras" y le das aceptar; en el espacio que
te dara pones la direccion de la celda que contiene el
numero que requieres convertir y luego haces clic en el
botón "Aceptar".

Te vas a dar cuenta porque no te funcionaba cuando
tecleabas directamente =EnLetras(x), ya que te faltaba
poner el Libro PERSONAL antes de la funcion, debiendo
quedar algo asi como esto:

=PERSONAL.XLS!EnLetras(C10)

Espero esto te ayude y no te haya yo tambien causado
alguna otra confucion.

Saludos
Servando Villalon

Hola Hector! Lo siento pero sigo sin aclararme.

'sobre' el libro de macros 'pesonal.xls' [y solo 'por




si
no lo sabias'] :)) ...
1.- su 'objetivo' es que todos 'sus' procedimientos




esten
disponibles para todos los libros [durante la sesion]

Entendido pero a que te refieres con ¿durante la sesión?

[a menos que los declares como 'Private' o en el


modulo que los contiene pongas la declaracion 'Option
Private Module']

2.- requisito INDISPENSABLE es que LA VENTANA del




archivo
este oculta
=> NO 'confundir' con el atributo oculto de un


archivo en el sistema operativo <>
¿ventana del archivo? y ¿esté oculta?

3.- [posiblemente] 'perderas' la presentacion de un




libro
en blanco al 'arrancar' [solamente] excel :((

¿¿¿a que te refieres?????


para que dicha funcion este 'disponible' para cualquier


libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de


macros 'Personal.xls'si no has 'generado' tu libro de
macros 'personales'... lo puedes crear [p.e. la forma
mas 'simple' es:]
'generando' una [nueva?] macro ... => herramientas ->


macro -> grabar nueva macro... <>>y en en las opciones de la macro => Guardar macro en:
Libro de macros personal <>>la aplicacion [excel] 'se encargara' de grabarlo en el
directorio de inicio.
editas [o borras... o sustituyes] la macro grabada


y 'pones' ahi el codigo de la funcion

Guardo una macro "Convertir" en mi libro de macros
personales. Abro el editor de VB y veo en Personal.xls,
Modulo1 el código Sub Convertir() End Sub, lo borro y


pego
Function EnLetras(Valor)..Esto lo hago y no me funciona.
Me da un mensaje en la celda de ¿#Nombre



la forma de ejecutarla es igual que una funcion de hoja


de calculo 'cualquiera' [p.e.]
=Nombre_de_la_funcion(Celda_con_el_valor)
['dependiendo' de cual funcion vayas a usar, es posible


que 'acepte' otros argumentos]

Si no la grabo en el libro de macros personales sale
correctamente. Así que este paso OK.

si cualquier duda... ¿comentas?
saludos,
hector.



¿Podrías en todo caso enviarme una libro con un


ejemplo.
Mi correo es ?

Muchas gracias
.

Respuesta Responder a este mensaje
#4 Juan Martínez
23/02/2004 - 14:32 | Informe spam
Perfecto, Servando. Muchas gracias

Juan.

Juan:

En ocasiones en el animo de dar la mayor información
posible, podemos llegar a confundir más a quien queremos
proporcionar la ayuda, sobre todo porque no sabemos cual
es el nivel de conocimientos que tengas y lo que para uno
resulta obvio, para otro es desconocido.

Yo te sugiero que tomes el comentario de Hector a partir
de este texto hacia abajo y olvides de momento lo demás.

para que dicha funcion este 'disponible' para cualquier


libro [sin tener que copiarla a cada libro]



Adicionalmente te sugiero lo siguiente..
Una vez creada la funcion, haz uso de del asistente de
funciones y busca dicha funcion entre las de la
categoría "Definidas por el usuario", luego seleccionas
la funcion "EnLetras" y le das aceptar; en el espacio que
te dara pones la direccion de la celda que contiene el
numero que requieres convertir y luego haces clic en el
botón "Aceptar".

Te vas a dar cuenta porque no te funcionaba cuando
tecleabas directamente =EnLetras(x), ya que te faltaba
poner el Libro PERSONAL antes de la funcion, debiendo
quedar algo asi como esto:

=PERSONAL.XLS!EnLetras(C10)

Espero esto te ayude y no te haya yo tambien causado
alguna otra confucion.

Saludos
Servando Villalon

Hola Hector! Lo siento pero sigo sin aclararme.

'sobre' el libro de macros 'pesonal.xls' [y solo 'por




si
no lo sabias'] :)) ...
1.- su 'objetivo' es que todos 'sus' procedimientos




esten
disponibles para todos los libros [durante la sesion]

Entendido pero a que te refieres con ¿durante la sesión?

[a menos que los declares como 'Private' o en el


modulo que los contiene pongas la declaracion 'Option
Private Module']

2.- requisito INDISPENSABLE es que LA VENTANA del




archivo
este oculta
=> NO 'confundir' con el atributo oculto de un


archivo en el sistema operativo <>>
¿ventana del archivo? y ¿esté oculta?

3.- [posiblemente] 'perderas' la presentacion de un




libro
en blanco al 'arrancar' [solamente] excel :((

¿¿¿a que te refieres?????


para que dicha funcion este 'disponible' para cualquier


libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de


macros 'Personal.xls'si no has 'generado' tu libro de
macros 'personales'... lo puedes crear [p.e. la forma
mas 'simple' es:]
'generando' una [nueva?] macro ... => herramientas ->


macro -> grabar nueva macro... <>>>y en en las opciones de la macro => Guardar macro en:
Libro de macros personal <>>>la aplicacion [excel] 'se encargara' de grabarlo en el
directorio de inicio.
editas [o borras... o sustituyes] la macro grabada


y 'pones' ahi el codigo de la funcion

Guardo una macro "Convertir" en mi libro de macros
personales. Abro el editor de VB y veo en Personal.xls,
Modulo1 el código Sub Convertir() End Sub, lo borro y


pego
Function EnLetras(Valor)..Esto lo hago y no me funciona.
Me da un mensaje en la celda de ¿#Nombre



la forma de ejecutarla es igual que una funcion de hoja


de calculo 'cualquiera' [p.e.]
=Nombre_de_la_funcion(Celda_con_el_valor)
['dependiendo' de cual funcion vayas a usar, es posible


que 'acepte' otros argumentos]

Si no la grabo en el libro de macros personales sale
correctamente. Así que este paso OK.

si cualquier duda... ¿comentas?
saludos,
hector.



¿Podrías en todo caso enviarme una libro con un


ejemplo.
Mi correo es ?

Muchas gracias
.



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida