Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
jandersen
 
Posts: n/a
Default Date modified within Spreadsheet

I want to insert a function into a cell that displays the date another cell
was modified. How can I do this?
  #2   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

j,

Copy the code below, right click on the sheet tab and select "View Code" and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another

cell
was modified. How can I do this?



  #3   Report Post  
jandersen
 
Posts: n/a
Default

This works if I'm making changes in one cell and want the reply to appear in
another cell...however, I can't make it work for changes made to a range of
cells and the reply to show in the another range of cells (much like dragging
a function down a column). I think it's just my syntax in modifying the code
you gave me...please help!

"Bernie Deitrick" wrote:

j,

Copy the code below, right click on the sheet tab and select "View Code" and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another

cell
was modified. How can I do this?




  #4   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

j,

The following will put the record on the same row, but 4 columns over,
recording any changes to the block of cells A1:D100. (So the records are
written in E1:H100)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Not Intersect(Target, Range("A1:D100")) Is Nothing Then
Application.EnableEvents = False
For Each myCell In Intersect(Target, Range("A1:D100"))
myCell.Offset(0, 4).Value = "Cell " & _
myCell.Address(False, False) & " was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Next myCell
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"jandersen" wrote in message
...
This works if I'm making changes in one cell and want the reply to appear

in
another cell...however, I can't make it work for changes made to a range

of
cells and the reply to show in the another range of cells (much like

dragging
a function down a column). I think it's just my syntax in modifying the

code
you gave me...please help!

"Bernie Deitrick" wrote:

j,

Copy the code below, right click on the sheet tab and select "View Code"

and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to

monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another

cell
was modified. How can I do this?






  #5   Report Post  
jandersen
 
Posts: n/a
Default

That was perfect! Thanks!

"Bernie Deitrick" wrote:

j,

The following will put the record on the same row, but 4 columns over,
recording any changes to the block of cells A1:D100. (So the records are
written in E1:H100)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Not Intersect(Target, Range("A1:D100")) Is Nothing Then
Application.EnableEvents = False
For Each myCell In Intersect(Target, Range("A1:D100"))
myCell.Offset(0, 4).Value = "Cell " & _
myCell.Address(False, False) & " was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Next myCell
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"jandersen" wrote in message
...
This works if I'm making changes in one cell and want the reply to appear

in
another cell...however, I can't make it work for changes made to a range

of
cells and the reply to show in the another range of cells (much like

dragging
a function down a column). I think it's just my syntax in modifying the

code
you gave me...please help!

"Bernie Deitrick" wrote:

j,

Copy the code below, right click on the sheet tab and select "View Code"

and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to

monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another
cell
was modified. How can I do this?








  #6   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

That was perfect! Thanks!

You're quite welcome.

Have a nice weekend.

Bernie


  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 9
Default Date modified within Spreadsheet

Hi Bernie

I've been looking for formula to do exactly this and have tried it but I
have another formula in the same sheet that starts with

Private Sub Worksheet_Change(ByVal Target As Range)

so I am getting an "Ambiguous name" error.

I tried to change the first line fo the formula to

Private Sub Worksheet_Change2(ByVal Target As Range) or
Private Sub Worksheet_dateChange(ByVal Target As Range)

But the macro will then not work.

Can you advise how I can fix this?

Thanks

Bec G




"Bernie Deitrick" wrote:

j,

The following will put the record on the same row, but 4 columns over,
recording any changes to the block of cells A1:D100. (So the records are
written in E1:H100)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Not Intersect(Target, Range("A1:D100")) Is Nothing Then
Application.EnableEvents = False
For Each myCell In Intersect(Target, Range("A1:D100"))
myCell.Offset(0, 4).Value = "Cell " & _
myCell.Address(False, False) & " was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Next myCell
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"jandersen" wrote in message
...
This works if I'm making changes in one cell and want the reply to appear

in
another cell...however, I can't make it work for changes made to a range

of
cells and the reply to show in the another range of cells (much like

dragging
a function down a column). I think it's just my syntax in modifying the

code
you gave me...please help!

"Bernie Deitrick" wrote:

j,

Copy the code below, right click on the sheet tab and select "View Code"

and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to

monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another
cell
was modified. How can I do this?






  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Date modified within Spreadsheet

Each sheet's module can have at most one worksheet_Change event.

If you want to monitor changes to different areas in that worksheet, you'll have
to make the code in the single worksheet_change event handle it.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then
Exit Sub 'single cell at a time
End If

If Not (Intersect(Target, Me.Range("A1")) Is Nothing) Then
'A1 changed
MsgBox "A1 changed!" 'do the stuff for this range
ElseIf Not (Intersect(Target, Me.Range("c1")) Is Nothing) Then
MsgBox "C1 Changed!" 'do the stuff for this range
End If

End Sub

Bec G (Oz) wrote:

Hi Bernie

I've been looking for formula to do exactly this and have tried it but I
have another formula in the same sheet that starts with

Private Sub Worksheet_Change(ByVal Target As Range)

so I am getting an "Ambiguous name" error.

I tried to change the first line fo the formula to

Private Sub Worksheet_Change2(ByVal Target As Range) or
Private Sub Worksheet_dateChange(ByVal Target As Range)

But the macro will then not work.

Can you advise how I can fix this?

Thanks

Bec G

"Bernie Deitrick" wrote:

j,

The following will put the record on the same row, but 4 columns over,
recording any changes to the block of cells A1:D100. (So the records are
written in E1:H100)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCell As Range
If Not Intersect(Target, Range("A1:D100")) Is Nothing Then
Application.EnableEvents = False
For Each myCell In Intersect(Target, Range("A1:D100"))
myCell.Offset(0, 4).Value = "Cell " & _
myCell.Address(False, False) & " was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Next myCell
Application.EnableEvents = True
End If
End Sub

HTH,
Bernie
MS Excel MVP

"jandersen" wrote in message
...
This works if I'm making changes in one cell and want the reply to appear

in
another cell...however, I can't make it work for changes made to a range

of
cells and the reply to show in the another range of cells (much like

dragging
a function down a column). I think it's just my syntax in modifying the

code
you gave me...please help!

"Bernie Deitrick" wrote:

j,

Copy the code below, right click on the sheet tab and select "View Code"

and
paste the code into the window that appears.

Change the range addresses to correspond to the cells you want to

monitor /
use to record.

HTH,
Bernie
MS Excel MVP

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A2").Value = "Cell A1 was changed " & _
Format(Now(), "mmm dd, yyyy at hh:mm:ss")
Application.EnableEvents = True
End If
End Sub

"jandersen" wrote in message
...
I want to insert a function into a cell that displays the date another
cell
was modified. How can I do this?







--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Modified Date D Excel Discussion (Misc queries) 12 February 12th 07 01:39 PM
Detecting Oldest Date On Spreadsheet Keiron James Keeble Excel Discussion (Misc queries) 3 January 19th 05 01:09 AM
How do I add a date field in a spreadsheet? Minimidge Excel Worksheet Functions 2 January 6th 05 04:57 PM
Modified Date DME New Users to Excel 11 December 14th 04 07:15 PM
Date format in spreadsheet tandem Excel Worksheet Functions 10 December 9th 04 07:19 PM


All times are GMT +1. The time now is 01:13 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"