![]() |
Run Macro from a list
I have a data validation list in cell B2. The list consists of two choices
(Year, Month). Based on the users selection I would like to run a macro. The maros are named Year and Month. |
Run Macro from a list
I would try using the Change Event. Maybe something like this is what you
are asking for: Sub Combox1_Change() Select Case Combox1.Value Case Is = "2008, Mar" Call Macro1 Case Is = "2008, Jan" Call Macro2 Case Is = "2007, Dec" Call Macro3 End Select End Sub -- Cheers, Ryan "OsmoseTom" wrote: I have a data validation list in cell B2. The list consists of two choices (Year, Month). Based on the users selection I would like to run a macro. The maros are named Year and Month. |
Run Macro from a list
Try the following event macro:
Private Sub Worksheet_Change(ByVal Target As Range) Set b2 = Range("B2") Set t = Target If Intersect(t, b2) Is Nothing Then Exit Sub v = b2.Value If v = "Year" Then Call yearr Else Call monthh End If End Sub Note: I changed the spelling of the called routines to avoid ambiguities. -- Gary''s Student - gsnu200798 "OsmoseTom" wrote: I have a data validation list in cell B2. The list consists of two choices (Year, Month). Based on the users selection I would like to run a macro. The maros are named Year and Month. |
Run Macro from a list
Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "H1" '<== change to suit On Error GoTo ws_exit Application.EnableEvents = False If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then With Target Application.Run .Value End With End If ws_exit: Application.EnableEvents = True End Sub 'This is worksheet event code, which means that it needs to be 'placed in the appropriate worksheet code module, not a standard 'code module. To do this, right-click on the sheet tab, select 'the View Code option from the menu, and paste the code in. -- __________________________________ HTH Bob "OsmoseTom" wrote in message ... I have a data validation list in cell B2. The list consists of two choices (Year, Month). Based on the users selection I would like to run a macro. The maros are named Year and Month. |
Run Macro from a list
Gary,
You are a genius, I have been struggling with this for hours. Your code worked great. "Gary''s Student" wrote: Try the following event macro: Private Sub Worksheet_Change(ByVal Target As Range) Set b2 = Range("B2") Set t = Target If Intersect(t, b2) Is Nothing Then Exit Sub v = b2.Value If v = "Year" Then Call yearr Else Call monthh End If End Sub Note: I changed the spelling of the called routines to avoid ambiguities. -- Gary''s Student - gsnu200798 "OsmoseTom" wrote: I have a data validation list in cell B2. The list consists of two choices (Year, Month). Based on the users selection I would like to run a macro. The maros are named Year and Month. |
All times are GMT +1. The time now is 07:23 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com