Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear All,
The code below is working when I want to log changes within an entire sheet. But how do I change the code to log changes in a particular named range, lets assume the named range is [Houses]. Any help much appreciated. Private Sub Worksheet_Change(ByVal Target As Range) ' Insert changes made into Log sheet Dim Col As Long Dim Row As Long Dim Lastrow As Long Lastrow = ActiveWorkbook.Sheets("26-Log").[B1].Value If Target.Columns.Count 1 Or Target.Rows.Count 1 Then For Col = Target.Column To Target.Column + Target.Columns.Count - 1 For Row = Target.Row To Target.Row + Target.Rows.Count - 1 If Cells(Row, Col).HasFormula Then ActiveWorkbook.Sheets("26-log").Unprotect Password:="log" ActiveWorkbook.Sheets("26-log").Cells(Lastrow + 1, 1) = ("Sheet: " & Target.Worksheet.Name & " Cell: " & _ Target.Address & " has changed to formula: " & Cells(Row, Col).Formula) & " (Date: " & Date & " at" & " Time: " & Time & ")" Else ActiveWorkbook.Sheets("26-log").Unprotect Password:="log" ActiveWorkbook.Sheets("26-log").Cells(Lastrow + 1, 1) = ("Sheet: " & Target.Worksheet.Name & " Cell: " & _ Target.Address & " has changed to value: " & Cells(Row, Col).Value) & " (Date: " & Date & " at" & " Time: " & Time & ")" End If Next Row Next Col Else If Target.HasFormula Then ActiveWorkbook.Sheets("26-Log").Unprotect Password:="log" ActiveWorkbook.Sheets("26-Log").Cells(Lastrow + 1, 1) = "Sheet: " & Target.Worksheet.Name & " Cell: " & _ Target.Address & " has changed to formula: " & Target.Formula & " (Date: " & Date & " at" & " Time: " & Time & ")" Else ActiveWorkbook.Sheets("26-Log").Unprotect Password:="log" ActiveWorkbook.Sheets("26-Log").Cells(Lastrow + 1, 1) = "Sheet: " & Target.Worksheet.Name & " Cell: " & _ Target.Address & " has changed to value: " & Target.Value & " (Date: " & Date & " at" & " Time: " & Time & ")" End If End If 'Increase the LastRow value by 1 ActiveWorkbook.Sheets("26-Log").[B1].Value = Lastrow + 1 ActiveWorkbook.Sheets("26-Log").Protect Password:="log" Application.ScreenUpdating = True End Sub -- Regards, Martin |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I enter formula sum(range+range)*0.15 sumif(range=3) | Excel Discussion (Misc queries) | |||
Excel Addin:Setting the range to the Excel.Range object range prop | Excel Worksheet Functions | |||
Range Question / error 1004: method Range of object Worksheet has failed | Excel Programming | |||
Range.Find returns cell outside of range when range set to single cell | Excel Programming | |||
how to? set my range= my UDF argument (range vs. value in range) [advanced?] | Excel Programming |