simulating click events

G

Guest

simple question

Is there a way to simulate the clicking of a control through vba?

eg..
Sheet1 contains a label named 'l12' and will change colors when clicked,
is there a way to cimulate actually clicking it so that the code for its
event is triggered?
 
S

Sharad Naik

Just double click on the Label.
It will take you to that labels Click event code.
Write your code there.
Don't forget to come out of design mode to try your code,
cause the event is not fired if you are in design mode.

Sharad
 
R

Ray Costanzo [MVP]

You can just call the subroutine. Since the click sub has private scope
within the sheet code, you'd have to call it from in there.

Another option, a better one imo, would be to put the code into its own sub
elsewhere and just have the click event call that subroutine.
 
S

Sharad Naik

Sorry I completely misunderstood your question.

When you want to fire the evenet for clicking on Label1 in Sheet1, you can
simply do

Run "Sheet1.Label1_Click"

You can use it even in a module.

Sharad
 
G

Guest

Thank you,

Unfortunately my question was still not explicit enough, it is a bit more
complicated than that as I am using a special work around to have several
hundred controls call the same code, and so the code has a recognizable
object on clicking, however just calling the code will not return an object,
but anyway I found another way to accomlplish what was needed. Thank you
though
 
B

Bob Phillips

Ben,

It seems to me that you have a problem here.

Using the class code method to simulate control arrays, the event code gets
triggered on a control click. If you call it directly, the control is not
implicitly declared to the event. So, you need to make it known somehow,
such as a public variable, but this would negate some of the advantages (but
not all) of the control array method.

--

HTH

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

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