Call a cmdSend_Click macro; non-click interaction

R

ryguy7272

I am trying to figure out a way to invoke this macro:

Private Sub cmdSend_Click()
…code
End Sub

As it is now, action is driven by a click event. I am using propriety
software which may require some kind of click event, but I’m not sure about
that. How can I call this macro from another macro, without requiring a user
to interact by clicking the button.

This macro will be called by a worksheet event, which is triggered by a
change in a range of cells on another sheet.

Thanks!
Ryan--
 
S

Sam Wilson

Public Sub YourCode()
...code
end sub

then:

Private Sub cmdSend_Click()
Call YourCode
End Sub

and similarly call it from the other worksheet event?
 
D

Dave Peterson

And the cmdSend button is on a different sheet?

You know the codename of that sheet that holds that button, right?
Application.Run "'" & ThisWorkbook.Name & "'!sheet1.cmdSend_Click"

Replace sheet1 with the codename for worksheet that owns that commandbutton.

Another way if you know the sheetname, but not its codename:
thisworkbook.Worksheets("Sheetnamehere").cmdSend.Value = True
 
R

ryguy7272

Thanks Sam! I want to be able to use this code without clicking a button,
which is what I did before. Does this allow me to run something like
button_click() from another macro?

Thanks again!
Ryan--
 
S

Sam Wilson

The idea is to take the code that usually runs inside the button_click() sub,
and place it inside a public sub.

Once you've done that, you can change the button_click() sub to call the
new, public, macro, but also call the same macro form wherever you choose.

Sam
 
R

ryguy7272

Wow! Application.Run "'" & ThisWorkbook.Name & "'!sheet1.cmdSend_Click"
That's very clever; never thought of that before.

Thanks, both of you!
Ryan--

--
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.


Dave Peterson said:
And the cmdSend button is on a different sheet?

You know the codename of that sheet that holds that button, right?
Application.Run "'" & ThisWorkbook.Name & "'!sheet1.cmdSend_Click"

Replace sheet1 with the codename for worksheet that owns that commandbutton.

Another way if you know the sheetname, but not its codename:
thisworkbook.Worksheets("Sheetnamehere").cmdSend.Value = True
 

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