OnAction calls to subroutine

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

VBA - Office97 - Excel

I have a routine which populates a worksheet with shapes (rectangles). Each
is uniquely identified with an index number appended to its name. At he same
time, the "onaction" property in set to call a common subroutine.

This subroutine needs to know which shape was clicked, but the calling
routine (i.e. the onaction statement) does not seem to support arguments.
Does anybody know how I can identify the shape in the target subroutine after
the action is triggered.

Please note that it is impractical to call a different subroutine for every
shape on the sheet - there are too many of them!

Any assistance would be appreciated.
 
Application.Caller

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
Hi Terry,
you can use application.caller like that:

Sub ShapesInit()
Dim i%
With Worksheets(1)
For i = 1 To .Shapes.Count
..Shapes(i).OnAction = "Test"
Next i
End With
End Sub

Sub Test()
Select Case Application.Caller
Case "Rectangle 1"

Case "Rectangle 3"

'....
End Select
End Sub

Regards,
MP
 
application.Caller should return the name of the shape that triggered the
routine
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top