Macros y formas

12/11/2003 - 19:26 por Carlos A | Informe spam
Hola a Todos.

De antemano, muchas gracias y espero que alguien me pueda
colaborar con lo siguiente:

Deseo mostrar ciertos mensajes dependiendo del botón que
escoja.

El problema es que necesito hacer los botones con
rectángulos (de autoformas) y no con commandbuttons de
VBasic. - Esto porque las autoformas se pueden colorear
con efectos de relleno y demás cositas que no se puede
hacer con un commandbutton.

Luego selecciono la forma, y le digo "asignar macro...".

Cuando escribo la macro, ¿cómo hago para saber cuál de las
formas (rectángulos o incluso círculos) piqué?

el código que necesito correr es el siguiente:

fijaré números en cada caso suponiendo que lo hago sobre
algún método Item o algo así

Select case ????????? (rectángulo picado)
case is = 1
msgbox "mensaje 1"
case is = 2
msgbox "mensaje 2"

End case

De nuevo gracias por sus respuestas.

Carlos A.
 

Leer las respuestas

#1 Héctor Miguel
12/11/2003 - 20:47 | Informe spam
Hola, Carlos !

... mostrar ... mensajes dependiendo del boton que escoja.
... autoformas ... no ... commandbuttons ... porque ... se pueden colorear [...]



para 'saber' cual es la figura que 'disparo' la [misma] macro asignada...
usa la coleccion 'Shapes' indicando [como numero de indice] la propiedad 'Caller' del objeto Application
[tu decides 'como distribuyes' el mensaje a mostrar >select case nombre_figura???] p.e.
Sub Misma_Macro()
With ActiveSheet.Shapes(Application.Caller)
MsgBox "Macro ejecutándose 'desde' la figura " & .Name & vbCr & _
"situada en la hoja " & .Parent.Name & vbCr & _
"posicionada en la celda " & .TopLeftCell.Address
End With
End Sub

saludos,
Héctor.

Preguntas similares