Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
"what triggered the event"
I need command buttons on a spreadsheet to change color on
the mouse_down and then back on the mouse_up events. But rather the writing the code for the mousedown/up event for each individual button, I want to write two subs (one for mouse_down and other for mouse_up) that that will be called by the buttons e.g. Private Sub Button_Mouse_Down() "WhichButtonCalledMe".backColor = RGB(255,0,0) End sub Private Sub Button_Mouse_Up() "WhichButtonCalledMe".Backcolor = RGB(0,255,0) End Sub How do I find out what button called the subs? Hope this makes sense to someone out there. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
"what triggered the event"
Hi
This is what Classes do. Insert a class module. Name it MyBtn. Put this code in it: Option Explicit Public WithEvents Btn As MSForms.CommandButton Private Sub Btn_MouseDown(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Btn.BackColor = RGB(255, 0, 0) End Sub Private Sub Btn_MouseUp(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Btn.BackColor = RGB(0, 255, 0) End Sub Now in your sheet module put this code: Option Explicit Dim B1 As New MyBtn Dim B2 As New MyBtn Dim B3 As New MyBtn Private Sub Worksheet_Activate() Set B1.Btn = Me.CommandButton1 Set B2.Btn = Me.CommandButton2 Set B3.Btn = Me.CommandButton3 End Sub You may have to deactivate/reactivate the sheet before it works properly -Activate probably isn't the best place to assign the class. But it's a demo, I hope it gets you started in the right direction. HTH. Best wishes Harald "Rod Jones" skrev i melding ... I need command buttons on a spreadsheet to change color on the mouse_down and then back on the mouse_up events. But rather the writing the code for the mousedown/up event for each individual button, I want to write two subs (one for mouse_down and other for mouse_up) that that will be called by the buttons e.g. Private Sub Button_Mouse_Down() "WhichButtonCalledMe".backColor = RGB(255,0,0) End sub Private Sub Button_Mouse_Up() "WhichButtonCalledMe".Backcolor = RGB(0,255,0) End Sub How do I find out what button called the subs? Hope this makes sense to someone out there. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Excel - Golf - how to display "-2" as "2 Under" or "4"as "+4" or "4 Over" in a calculation cell | Excel Discussion (Misc queries) | |||
change "true" and "false" to "availble" and "out of stock" | Excel Worksheet Functions | |||
HELP on "left","right","find","len","substitute" functions | Excel Discussion (Misc queries) | |||
Count occurences of "1"/"0" (or"TRUE"/"FALSE") in a row w. conditions in the next | New Users to Excel | |||
Make "BeforeSave" event supply a default path and file name? | Excel Programming |