![]() |
auto run macro on cell change
hey i'm new to vba this seems easy enough but i'm struggling
in cell Q1 the value is chosen from a list about 40 names each time I change a name I need a macro to run called delete_cells which clears the values "w" or "l" from the cells . I have the code for delete_cells below Sub delete_cells() Cells.Select Selection.Replace What:="w", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="l", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Thanx in advance |
auto run macro on cell change
Put this event module in the worksheet code area:
Private Sub Worksheet_Change(ByVal Target As Range) Set t = Target Set Q1 = Range("Q1") If Intersect(t, Q1) Is Nothing Then Exit Sub Application.EnableEvents = False Call delete_cells Application.EnableEvents = True End Sub Because it is worksheet code, it is very easy to install and automatic to use: 1. right-click the tab name near the bottom of the Excel window 2. select View Code - this brings up a VBE window 3. paste the stuff in and close the VBE window If you have any concerns, first try it on a trial worksheet. If you save the workbook, the macro will be saved with it. To remove the macro: 1. bring up the VBE windows as above 2. clear the code out 3. close the VBE window To learn more about macros in general, see: http://www.mvps.org/dmcritchie/excel/getstarted.htm To learn more about Event Macros (worksheet code), see: http://www.mvps.org/dmcritchie/excel/event.htm N.B.: Make sure delete_cells is in a standard module. -- Gary''s Student - gsnu200808 "seans" wrote: hey i'm new to vba this seems easy enough but i'm struggling in cell Q1 the value is chosen from a list about 40 names each time I change a name I need a macro to run called delete_cells which clears the values "w" or "l" from the cells . I have the code for delete_cells below Sub delete_cells() Cells.Select Selection.Replace What:="w", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="l", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Thanx in advance |
auto run macro on cell change
Thanx so simple but saves a load of headaches thanx "Gary''s Student" wrote: Put this event module in the worksheet code area: Private Sub Worksheet_Change(ByVal Target As Range) Set t = Target Set Q1 = Range("Q1") If Intersect(t, Q1) Is Nothing Then Exit Sub Application.EnableEvents = False Call delete_cells Application.EnableEvents = True End Sub Because it is worksheet code, it is very easy to install and automatic to use: 1. right-click the tab name near the bottom of the Excel window 2. select View Code - this brings up a VBE window 3. paste the stuff in and close the VBE window If you have any concerns, first try it on a trial worksheet. If you save the workbook, the macro will be saved with it. To remove the macro: 1. bring up the VBE windows as above 2. clear the code out 3. close the VBE window To learn more about macros in general, see: http://www.mvps.org/dmcritchie/excel/getstarted.htm To learn more about Event Macros (worksheet code), see: http://www.mvps.org/dmcritchie/excel/event.htm N.B.: Make sure delete_cells is in a standard module. -- Gary''s Student - gsnu200808 "seans" wrote: hey i'm new to vba this seems easy enough but i'm struggling in cell Q1 the value is chosen from a list about 40 names each time I change a name I need a macro to run called delete_cells which clears the values "w" or "l" from the cells . I have the code for delete_cells below Sub delete_cells() Cells.Select Selection.Replace What:="w", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="l", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Thanx in advance |
All times are GMT +1. The time now is 01:55 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com