ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Setting up Worksheet_Change event (https://www.excelbanter.com/excel-programming/301369-setting-up-worksheet_change-event.html)

Nigel Stevens

Setting up Worksheet_Change event
 
Could anybody help me

I wish to include a Worksheet_Change event on a
spreadsheet, so that I can record when the value in a cell
is changed.

I can do this physically by: right clicking on the
worksheet tab, selecting the View code option and then
adding the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("M:M")) Is Nothing Then
Target.Offset(, 1).Value = Date
End If
End Sub

My query is how do I automate the setting up of this event
from a VB macro that creates the Excel worksheet? I wish
to do this to ensure certain functionality and formatting
is included in the worksheet when it is created.

Many thanks for any Help you can give me.

Nigel


Frank Kabel

Setting up Worksheet_Change event
 
Hi
as a starting point see:
http://www.cpearson.com/excel/vbe.htm

--
Regards
Frank Kabel
Frankfurt, Germany


Nigel Stevens wrote:
Could anybody help me

I wish to include a Worksheet_Change event on a
spreadsheet, so that I can record when the value in a cell
is changed.

I can do this physically by: right clicking on the
worksheet tab, selecting the View code option and then
adding the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("M:M")) Is Nothing Then
Target.Offset(, 1).Value = Date
End If
End Sub

My query is how do I automate the setting up of this event
from a VB macro that creates the Excel worksheet? I wish
to do this to ensure certain functionality and formatting
is included in the worksheet when it is created.

Many thanks for any Help you can give me.

Nigel


Don Guillett[_4_]

Setting up Worksheet_Change event
 
Look here for this and more

http://www.cpearson.com/excel/vbe.htm

The CodeModule object has a method called CreateEventProc that you can use
to create an event procedure in class module, a sheet module, or the
ThisWorkbook module. The advantage of CreateEventProc over InsertLines is
that CreateEventProc will automatically insert the complete procedure
declaration, including all of the correct parameters. CreateEventProc
returns the line number on which the procedure begins, so once you've called
CreateEventProc , add one to the result and use this with InsertLines to
insert the body of the event procedure. For example, the code below creates
a Workbook_Open procedure containing a Msgbox statement in the ThisWorkbook
module of the Active Workbook.

Dim StartLine As Long
With ActiveWorkbook.VBProject.VBComponents("ThisWorkboo k").CodeModule
StartLine = .CreateEventProc("Open", "Workbook") + 1
.InsertLines StartLine, _
"Msgbox ""Hello World"",vbOkOnly"
End With



--
Don Guillett
SalesAid Software

"Nigel Stevens" wrote in message
...
Could anybody help me

I wish to include a Worksheet_Change event on a
spreadsheet, so that I can record when the value in a cell
is changed.

I can do this physically by: right clicking on the
worksheet tab, selecting the View code option and then
adding the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("M:M")) Is Nothing Then
Target.Offset(, 1).Value = Date
End If
End Sub

My query is how do I automate the setting up of this event
from a VB macro that creates the Excel worksheet? I wish
to do this to ensure certain functionality and formatting
is included in the worksheet when it is created.

Many thanks for any Help you can give me.

Nigel





All times are GMT +1. The time now is 05:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com