Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I reduce 10 Sub() into 1 Sub()?
I have this subroutine that I have to repeat 10 times on a worksheet: Private Sub cmdCentralPA_Click() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub i.e., Private Sub cmdConnecticut_Click(), Private Sub cmdLongIsland_Click(), Private Sub cmdNewEngland_Click(), Private Sub cmdNewJersey_Click() etc. I am looking for a code that will determine which button was click and then run the code based on that button. Instead of repeating the same subroutine 10 times. Any ideas? Thanks Ayo |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I reduce 10 Sub() into 1 Sub()?
Thanks Per Jessen. You have given me an idea that I will look into. "Per Jessen" wrote: Hi Each button has to have an underlying macro to function, but you could put your code in a seperat sub which is called from each button macro (CentralCode should in an ordinary module): Private Sub cmdCentralPA_Click() Call CentralCode End Sub Sub CentralCode() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub Hopes this helps. .... Per "Ayo" skrev i meddelelsen ... I have this subroutine that I have to repeat 10 times on a worksheet: Private Sub cmdCentralPA_Click() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub i.e., Private Sub cmdConnecticut_Click(), Private Sub cmdLongIsland_Click(), Private Sub cmdNewEngland_Click(), Private Sub cmdNewJersey_Click() etc. I am looking for a code that will determine which button was click and then run the code based on that button. Instead of repeating the same subroutine 10 times. Any ideas? Thanks Ayo |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I reduce 10 Sub() into 1 Sub()?
you may want to pass a value that indicates which button was clicked Private Sub cmdCentralPA_Click() Call CentralCode, 1 End Sub and Private Sub cmdCentralPA_Click(button as long ) "Per Jessen" wrote in message ... Hi Each button has to have an underlying macro to function, but you could put your code in a seperat sub which is called from each button macro (CentralCode should in an ordinary module): Private Sub cmdCentralPA_Click() Call CentralCode End Sub Sub CentralCode() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub Hopes this helps. ... Per "Ayo" skrev i meddelelsen ... I have this subroutine that I have to repeat 10 times on a worksheet: Private Sub cmdCentralPA_Click() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub i.e., Private Sub cmdConnecticut_Click(), Private Sub cmdLongIsland_Click(), Private Sub cmdNewEngland_Click(), Private Sub cmdNewJersey_Click() etc. I am looking for a code that will determine which button was click and then run the code based on that button. Instead of repeating the same subroutine 10 times. Any ideas? Thanks Ayo |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I reduce 10 Sub() into 1 Sub()?
Perhaps Application.Caller might help.
On Jul 2, 7:29*pm, Ayo wrote: I have this subroutine that I have to repeat 10 times on a worksheet: Private Sub cmdCentralPA_Click() Dim btnCaption As String Application.DisplayAlerts = False Application.ScreenUpdating = False btnCaption = Me.cmdCentralPA.Caption Call unhideSheets Call getMarketdata(btnCaption) Call hideShapes Me.Range("A2").Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub i.e., Private Sub cmdConnecticut_Click(), Private Sub cmdLongIsland_Click(), Private Sub cmdNewEngland_Click(), Private Sub cmdNewJersey_Click() etc. I am looking for a code that will determine which button was click and then run the code based on that button. Instead of repeating the same subroutine 10 times. Any ideas? *Thanks * *Ayo |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How do I reduce 10 Sub() into 1 Sub()? | Excel Programming | |||
Can I reduce (101.25) to only what's *right* of decimal? (25) | Excel Worksheet Functions | |||
Reduce filesize | Excel Discussion (Misc queries) | |||
Reduce Flashing | Excel Programming | |||
How to reduce table? | New Users to Excel |