ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   auto run macro on cell change (https://www.excelbanter.com/excel-programming/418806-auto-run-macro-cell-change.html)

seans

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

Gary''s Student

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


seans

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