OnAction calls to subroutine

T

TerryP

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.
 
B

Bob Phillips

Application.Caller

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
M

Michel Pierron

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
 
T

Tom Ogilvy

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

Top