ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Last data entry made time and Date show in each worksheet (https://www.excelbanter.com/excel-worksheet-functions/118417-last-data-entry-made-time-date-show-each-worksheet.html)

Rajat

Last data entry made time and Date show in each worksheet
 
Hi,


i've created a Excell file and there are atleast 55 worksheet and i've named
them as 1, 2, 3 to 55 etc. but the content of the each worksheet is same
(means data entry field are same in each sheet) its basically a templet for
entering specific information of seperate projects Print area of each sheet
is A1:Y74. At one go all the information are not filled up in each sheet, it
will be updated regularly. I've used the ToolsProtectionProject Sheet
option so that the user can access only those fields where they have to enter
DATA.

My requirement is i want to know when last data entry (not just simple
saving of sheet) was made in each sheet and saved that time and date to
appear in a specific cell of each sheet say A75 for Time and A76 for Date.

Because there will be instance when one user will open the file and enter
the updated data related to projects in 2 or 3 sheet out of 55 and closed the
file in that instance i want to see that the sheet where updation was made
those show the time and date in that sheet and other sheets remaim unchaged
untill those are updated.

Thanx in advance,

Bob Phillips

Last data entry made time and Date show in each worksheet
 
You could add this to your workbook which will record changes to a Master
sheet

'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Const MASTER_SHEET As String = "MAster" '<=== change to suit
Dim wsmaster As Worksheet
Dim iRow As Long

Set wsmaster = Worksheets(MASTER_SHEET)
If Sh.Name < wsmaster.Name Then
iRow = wsmaster.Cells(wsmaster.Rows.Count, "A").End(xlDown).Row + 1
wsmaster.Cells(iRow, "A").Value = Sh.Name
wsmaster.Cells(iRow, "B").Value = Target.Address(False, False)
wsmaster.Cells(iRow, "C").Value = Environ("UserName")
End If

End Sub


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Rajat" wrote in message
...
Hi,


i've created a Excell file and there are atleast 55 worksheet and i've

named
them as 1, 2, 3 to 55 etc. but the content of the each worksheet is same
(means data entry field are same in each sheet) its basically a templet

for
entering specific information of seperate projects Print area of each

sheet
is A1:Y74. At one go all the information are not filled up in each sheet,

it
will be updated regularly. I've used the ToolsProtectionProject Sheet
option so that the user can access only those fields where they have to

enter
DATA.

My requirement is i want to know when last data entry (not just simple
saving of sheet) was made in each sheet and saved that time and date to
appear in a specific cell of each sheet say A75 for Time and A76 for Date.

Because there will be instance when one user will open the file and enter
the updated data related to projects in 2 or 3 sheet out of 55 and closed

the
file in that instance i want to see that the sheet where updation was made
those show the time and date in that sheet and other sheets remaim

unchaged
untill those are updated.

Thanx in advance,




Rajat

Last data entry made time and Date show in each worksheet
 
Dear Bob

thanx for ur effort, but i faced few problems and would try to clarify it,

i've copied the code but it gave me a 'Run Time Error 9'
I am not an expet in VBA, as mentioned by you to modify the "MAster" i've
put the Print area of the worksheet $A$1:$Y$74 the same run time error i got
and the line
"Set wsmaster = Worksheets(MASTER_SHEET)" was yellow marked

then i changed the "MAster" with the tab names (i have 55 sheets those are
named 1, 2, 3 ... to 55) '1'!:'55'! but same error occured.

my requirement is i want to know when last data entry was made in each sheet
i.e. 1, 2, 3, etc that time and Date to be displayed in that perticular
sheet's specific cell i.e. for worksheet named '1' Time shown in Cell
'1'!$A$75 and Date shown in Cell '1'!$A$76.

am i able to explain you the problem Bob, hope taht you may sort it out
quickly.



Bob Phillips

Last data entry made time and Date show in each worksheet
 
Didn't cater for an empty sheet.

Try this better version

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Const MASTER_SHEET As String = "Master" '<=== change to suit
Dim wsMaster As Worksheet
Dim cRows As Long
Dim iRow As Long

Set wsMaster = Worksheets(MASTER_SHEET)
If Sh.Name < wsMaster.Name Then
cRows = wsMaster.Cells(wsMaster.Rows.Count, "A").End(xlUp).Row
If cRows = wsMaster.Rows.Count Then
wsMaster.Cells(1, "A").Value = "Sheet"
wsMaster.Cells(1, "B").Value = "UserName"
wsMaster.Cells(1, "C").Value = "Timestamp"
wsMaster.Cells(1, "D").Value = "Cell"
wsMaster.Cells(1, "E").Value = "Value"
wsMaster.Rows(1).Font.Bold = True
iRow = 2
Else
iRow = cRows + 1
End If
wsMaster.Cells(iRow, "A").Value = Sh.Name
wsMaster.Cells(iRow, "B").Value = Environ("UserName")
wsMaster.Cells(iRow, "C").Value = Format(Now, "dd-mmm-yyyy
hh:mm:ss")
wsMaster.Cells(iRow, "D").Value = Target.Address(False, False)
If Target.HasFormula Then
wsMaster.Cells(iRow, "E").Value = "'" & Target.Formula
Else
wsMaster.Cells(iRow, "E").Value = Target.Text
End If
wsMaster.Columns("A:E").AutoFormat
End If

End Sub






--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Rajat" wrote in message
...
Dear Bob

thanx for ur effort, but i faced few problems and would try to clarify it,

i've copied the code but it gave me a 'Run Time Error 9'
I am not an expet in VBA, as mentioned by you to modify the "MAster" i've
put the Print area of the worksheet $A$1:$Y$74 the same run time error i

got
and the line
"Set wsmaster = Worksheets(MASTER_SHEET)" was yellow marked

then i changed the "MAster" with the tab names (i have 55 sheets those are
named 1, 2, 3 ... to 55) '1'!:'55'! but same error occured.

my requirement is i want to know when last data entry was made in each

sheet
i.e. 1, 2, 3, etc that time and Date to be displayed in that perticular
sheet's specific cell i.e. for worksheet named '1' Time shown in Cell
'1'!$A$75 and Date shown in Cell '1'!$A$76.

am i able to explain you the problem Bob, hope taht you may sort it out
quickly.






All times are GMT +1. The time now is 03:32 PM.

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