pasar un parámetro a un procedimiento

13/07/2006 - 16:06 por Francisco M | Informe spam
Foro, me pueden ayuda:
Tengo una imagen a la cual le he asignado una macro. ¿Se puede hacer
pasar un parámetro a dicha macro?

he tratado de hacerlo cuando le asigno la macro y ponerle
"DESVERGONZADAMENTE" entre parentesis el parámetro, pero me dice: "La
fórmula es demasiado compleja para ser asignada a un objeto"

Lo que pasa es que en una celda tiene el general, entonces uno apreta este
botón (el dibujo con macro) muestra un detalle, y esto se hace en varias
celdas. La idea es poder entregarle el parámetro según el tipo de
información que deseo mostrar y no tener que hacer una macro por botón, lo
que ser un derroche, ya que si necesito cambiar el código, tendría que
hacerlo en toooodas las demás macros.

La otra alternativa es poder saber, la celda donde se encuentra mi objeto, y
me imagino que debe haber una API para esto, y esto sería dinámico, se me
solucionarían todos los problemas.

Alguien me dar una mano con esto...

Saludos,
Francisco.

Preguntas similare

Leer las respuestas

#1 manolo
13/07/2006 - 16:53 | Informe spam
Ma macro tiene que estar preparada para recibir (y tratar) el parametro que
le envias.


"Francisco M" escribió en el mensaje
news:
Foro, me pueden ayuda:
Tengo una imagen a la cual le he asignado una macro. ¿Se puede hacer
pasar un parámetro a dicha macro?

he tratado de hacerlo cuando le asigno la macro y ponerle
"DESVERGONZADAMENTE" entre parentesis el parámetro, pero me dice: "La
fórmula es demasiado compleja para ser asignada a un objeto"

Lo que pasa es que en una celda tiene el general, entonces uno apreta este
botón (el dibujo con macro) muestra un detalle, y esto se hace en varias
celdas. La idea es poder entregarle el parámetro según el tipo de
información que deseo mostrar y no tener que hacer una macro por botón, lo
que ser un derroche, ya que si necesito cambiar el código, tendría que
hacerlo en toooodas las demás macros.

La otra alternativa es poder saber, la celda donde se encuentra mi objeto,
y me imagino que debe haber una API para esto, y esto sería dinámico, se
me solucionarían todos los problemas.

Alguien me dar una mano con esto...

Saludos,
Francisco.

Respuesta Responder a este mensaje
#2 Francisco M
13/07/2006 - 18:19 | Informe spam
manolo, está claro lo que me indicas, sin embargo, no he logrado que
resulte... un ejemplo simple

sub mensaje (optional msj="por defecto")
msgbox msj
end sub

esta macro se la asigno a una imagen, o a un cuadrado, o a lo que sea

si apreto la imagen me aparece, obviamente el mensaje "por defecto", pero
¿cómo lo hago para que me aparezca el mensaje que yo quiera, entregado por
el parámetro msj?, como por ejemplo:

mensaje "mi mensaje"

Saludos,
Francisco.

"manolo" escribió en el mensaje
news:
Ma macro tiene que estar preparada para recibir (y tratar) el parametro
que le envias.


"Francisco M" escribió en el mensaje
news:
Foro, me pueden ayuda:
Tengo una imagen a la cual le he asignado una macro. ¿Se puede hacer
pasar un parámetro a dicha macro?

he tratado de hacerlo cuando le asigno la macro y ponerle
"DESVERGONZADAMENTE" entre parentesis el parámetro, pero me dice: "La
fórmula es demasiado compleja para ser asignada a un objeto"

Lo que pasa es que en una celda tiene el general, entonces uno apreta
este botón (el dibujo con macro) muestra un detalle, y esto se hace en
varias celdas. La idea es poder entregarle el parámetro según el tipo de
información que deseo mostrar y no tener que hacer una macro por botón,
lo que ser un derroche, ya que si necesito cambiar el código, tendría que
hacerlo en toooodas las demás macros.

La otra alternativa es poder saber, la celda donde se encuentra mi
objeto, y me imagino que debe haber una API para esto, y esto sería
dinámico, se me solucionarían todos los problemas.

Alguien me dar una mano con esto...

Saludos,
Francisco.





Respuesta Responder a este mensaje
#3 manolo
13/07/2006 - 18:38 | Informe spam
Tienes que llamar a la rutina y añadir el parametro

mensaje textodelmensaje



"Francisco M" escribió en el mensaje
news:%
manolo, está claro lo que me indicas, sin embargo, no he logrado que
resulte... un ejemplo simple

sub mensaje (optional msj="por defecto")
msgbox msj
end sub

esta macro se la asigno a una imagen, o a un cuadrado, o a lo que sea

si apreto la imagen me aparece, obviamente el mensaje "por defecto", pero
¿cómo lo hago para que me aparezca el mensaje que yo quiera, entregado por
el parámetro msj?, como por ejemplo:

mensaje "mi mensaje"

Saludos,
Francisco.

"manolo" escribió en el mensaje
news:
Ma macro tiene que estar preparada para recibir (y tratar) el parametro
que le envias.


"Francisco M" escribió en el mensaje
news:
Foro, me pueden ayuda:
Tengo una imagen a la cual le he asignado una macro. ¿Se puede hacer
pasar un parámetro a dicha macro?

he tratado de hacerlo cuando le asigno la macro y ponerle
"DESVERGONZADAMENTE" entre parentesis el parámetro, pero me dice: "La
fórmula es demasiado compleja para ser asignada a un objeto"

Lo que pasa es que en una celda tiene el general, entonces uno apreta
este botón (el dibujo con macro) muestra un detalle, y esto se hace en
varias celdas. La idea es poder entregarle el parámetro según el tipo de
información que deseo mostrar y no tener que hacer una macro por botón,
lo que ser un derroche, ya que si necesito cambiar el código, tendría
que hacerlo en toooodas las demás macros.

La otra alternativa es poder saber, la celda donde se encuentra mi
objeto, y me imagino que debe haber una API para esto, y esto sería
dinámico, se me solucionarían todos los problemas.

Alguien me dar una mano con esto...

Saludos,
Francisco.









Respuesta Responder a este mensaje
#4 Francisco M
13/07/2006 - 22:26 | Informe spam
Manolo, está claro lo que indicas, pero cómo hago pasar el parámetro?

¿Leiste bien el problema que tengo?

la macro se la asigno a un objeto: una imagen, un dibujo, un círculo, un
cuadrado, lo que sea.. a un Shapes.
pero lo que deseo es al apretar el botón y poder pasarle algún parámetro...

Saludos,
Francisco.

"manolo" escribió en el mensaje
news:
Tienes que llamar a la rutina y añadir el parametro

mensaje textodelmensaje



"Francisco M" escribió en el mensaje
news:%
manolo, está claro lo que me indicas, sin embargo, no he logrado que
resulte... un ejemplo simple

sub mensaje (optional msj="por defecto")
msgbox msj
end sub

esta macro se la asigno a una imagen, o a un cuadrado, o a lo que sea

si apreto la imagen me aparece, obviamente el mensaje "por defecto", pero
¿cómo lo hago para que me aparezca el mensaje que yo quiera, entregado
por el parámetro msj?, como por ejemplo:

mensaje "mi mensaje"

Saludos,
Francisco.

"manolo" escribió en el mensaje
news:
Ma macro tiene que estar preparada para recibir (y tratar) el parametro
que le envias.


"Francisco M" escribió en el mensaje
news:
Foro, me pueden ayuda:
Tengo una imagen a la cual le he asignado una macro. ¿Se puede hacer
pasar un parámetro a dicha macro?

he tratado de hacerlo cuando le asigno la macro y ponerle
"DESVERGONZADAMENTE" entre parentesis el parámetro, pero me dice: "La
fórmula es demasiado compleja para ser asignada a un objeto"

Lo que pasa es que en una celda tiene el general, entonces uno apreta
este botón (el dibujo con macro) muestra un detalle, y esto se hace en
varias celdas. La idea es poder entregarle el parámetro según el tipo
de información que deseo mostrar y no tener que hacer una macro por
botón, lo que ser un derroche, ya que si necesito cambiar el código,
tendría que hacerlo en toooodas las demás macros.

La otra alternativa es poder saber, la celda donde se encuentra mi
objeto, y me imagino que debe haber una API para esto, y esto sería
dinámico, se me solucionarían todos los problemas.

Alguien me dar una mano con esto...

Saludos,
Francisco.













Respuesta Responder a este mensaje
#5 AnSanVal
15/07/2006 - 23:16 | Informe spam
Una posible solución seria que cada figura llame una "mini macro", que será
la encargada de
pasar el parámetro que quieras a la macro principal. P. e. para tres
figuras:

Sub fig1()
miMacro "Figura 1"
End Sub

Sub fig2()
miMacro "Figura 2"
End Sub

Sub fig3()
miMacro "Figura 3"
End Sub

Sub miMacro(frase$)
'...
'Aqui va el código de tu macro. Como prueba el MsgBox.
'...
MsgBox "Has pulsado la " & frase
End Sub

Saludos desde Tenerife (España).
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida