Solved

on click events in excel

Posted on 2013-05-31
8
215 Views
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


next
thanks
0
Comment
Question by:Svgmassive
  • 4
  • 2
  • 2
8 Comments
 
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.

Cal
0
 

Author Comment

by:Svgmassive
ID: 39211702
Userform
0
 
LVL 16

Expert Comment

by:Calvin Brine
ID: 39211716
More.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 17

Accepted Solution

by:
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 http://www.cpearson.com/excel/Events.aspx
event-handler-example.xlsm
0
 

Author Comment

by:Svgmassive
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
0
 
LVL 17

Expert Comment

by:andrewssd3
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.
0
 

Author Comment

by:Svgmassive
ID: 39251226
i used th application caller method thanks
0
 

Author Closing Comment

by:Svgmassive
ID: 39273308
excellent
0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

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…
Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
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…

777 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