Event Macro

S

stevepain

Dear all,

I've got a spreadsheet that produces summary information based upon a
table that is updated weekly by a supplier, and then copy and pasted
into the summary spreadsheet.
I would like to run a macro that I currently have assigned to a button
on one of the sheets automatically when the data table from the
supplier is updated. Thus removing the need for the user to click the
button everytime the information (and subsequently the report it
generates) is updated.

How do I do this? I think I need some code somewhere, but I'm a bit of
a code novice!

Thanks,

Steve
 
G

Guest

stevepain said:
Dear all,

I've got a spreadsheet that produces summary information based upon a
table that is updated weekly by a supplier, and then copy and pasted
into the summary spreadsheet.
I would like to run a macro that I currently have assigned to a button
on one of the sheets automatically when the data table from the
supplier is updated. Thus removing the need for the user to click the
button everytime the information (and subsequently the report it
generates) is updated.

How do I do this? I think I need some code somewhere, but I'm a bit of
a code novice!

Thanks,

Steve


Here's a snippet of code demonstrating what you want I believe:

Private Sub worksheet_change(ByVal Target As Excel.range)
MsgBox "Cell Changed"
End Sub

You need to place this not in the "Modules" as you normally do, but the
"Microsoft Excel Objects" for the specific sheet you want to monitor for changes.

Good luck...

Bill
 
G

Guest

stevepain said:
Dear all,

I've got a spreadsheet that produces summary information based upon a
table that is updated weekly by a supplier, and then copy and pasted
into the summary spreadsheet.
I would like to run a macro that I currently have assigned to a button
on one of the sheets automatically when the data table from the
supplier is updated. Thus removing the need for the user to click the
button everytime the information (and subsequently the report it
generates) is updated.

How do I do this? I think I need some code somewhere, but I'm a bit of
a code novice!

Thanks,

Steve


Here's a snippet of code demonstrating what you want I believe:

Private Sub worksheet_change(ByVal Target As Excel.range)
Dim ChangeRange As range
Application.EnableEvents = False
Set ChangeRange = range("A1:B2")
If Not Intersect(Target, ChangeRange) Is Nothing Then
MsgBox "Cell within range has changed"
End If
Application.EnableEvents = True
End Sub

You need to place this not in the macro "Modules" as you normally do, but the
"Microsoft Excel Objects" for the specific sheet you want to monitor for
changes. If anything is changed in the range A1:B2 on that sheet, then the code
inside the If/EndIf block will execute.

Good luck...

Bill
 
S

stevepain

The supplier has a template sheet that is updated, and then copy an
pasted into a data sheet within my summary workbook
 
M

mangesh_yadav

Then maybe you can call that macro (attached to the button) a
workbook_close event.

This event goes in the This_Workbook module. You will have to take car
that if you open the book sometime when you are not updating, even the
this will be fired.


Manges
 
M

Mangesh Yadav

Hi Bill / Stevepain

You have to be careful, as for every change in the cell value, your "button
macro" will be triggered when you use the Change event.

MAngesh
 
Top