on click events in excel

Posted on 2013-05-31
Last Modified: 2013-06-24
i have a calendar that i would like to reduce the lines of code for the onclick event similar to ms access onclick events eg,
Private Sub D1_Click(): Call BUTTON_CLICK("D1"): End Sub

for i=1 to 42
'the onclick procedure here to replace the private sub above

Question by:Svgmassive
  • 4
  • 2
  • 2
LVL 16

Expert Comment

by:Calvin Brine
ID: 39211700
A couple of clairifications.

1.  Is your calendar an Excel Userform?  An ActiveX Control?  Is it embbed in your worksheet?
2.  I'm not sure what you are trying to accomplish with your loop?  Are you trying to call the button_click event 42 times?  

If you can provide some context on what you are trying to accomplish, we might be able to provide with what you want, or even something that might be even easier that you may not have thought of.


Author Comment

ID: 39211702
LVL 16

Expert Comment

by:Calvin Brine
ID: 39211716
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

LVL 17

Accepted Solution

andrewssd3 earned 500 total points
ID: 39211796
I think you are asking about having a common error handler for multiple buttons, although you could be more forthcoming about your requirements.  What you want is not completely simple, but you can achieve it reasonable easily if you understand the principles.

Take a look at the attached example - you shold be able to adapt it to what you want.

You could also look at some articles, for example

Author Comment

ID: 39211820
this is what's in code.i can eliminate this with a loop using the onclick event similar to ms access
Private Sub D1_Click(): Call BUTTON_CLICK("D1"): End Sub
Private Sub D2_Click(): Call BUTTON_CLICK("D2"): End Sub
Private Sub D3_Click(): Call BUTTON_CLICK("D3"): End Sub
Private Sub D4_Click(): Call BUTTON_CLICK("D4"): End Sub
Private Sub D5_Click(): Call BUTTON_CLICK("D5"): End Sub
LVL 17

Expert Comment

ID: 39211977
I don't understand what you're asking.  I have given you a working and tested example of how to do this flexibly.  You can do what you're suggesting if you really want to repeat the code 42 times.  If you want to do it with repetitive code like you suggest you could just have a trivial routine like
Sub Button_Click(byval sBtn as string)
            MsgBox "You clicked " & sBtn
End Sub

Open in new window

But I would imagine you could have worked this out by yourself.

Author Comment

ID: 39251226
i used th application caller method thanks

Author Closing Comment

ID: 39273308

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This code takes an Excel list of URL’s and adds a header titled “URL List”. It then searches through all URL’s in column “A”, looking for duplicates. When a duplicate is found, it is moved to the top of the list. The duplicate URL’s are then highlig…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question