![]() |
auto running macro
I have to have the date added automatically in column H if the info is added
in column F of the same row. The code I wrote works but I have to return to column F after the info is added in F and only after that reverse-move does the required info appear in H Where is my mistake and how to fix this problem? Thanks! Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myCell As Range If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub ApplicationEnableEvents = False Range("H:H").NumberFormat = "mm/dd/yyyy" For Each myCell In Intersect(Target, Range("F:F")) rw = myCell.Row Cells(rw, "H").FormulaR1C1 = "=IF(RC[-2]<"""", Now(), """")" Cells(rw, "H").Value = Cells(rw, "H").Value Cells(rw, "M").Value = Environ("UserName") Next myCell Application.EnableEvents = True End Sub |
auto running macro
Hi
You are using 'Worksheet_SelectionChange' event but you should use 'Worksheet_Change' event. So just remove 'Selection' from the line below.... Private Sub Worksheet_SelectionChange(ByVal Target As Range) Regards, Per On 12 Nov., 23:16, Maryna wrote: I have to have the date added *automatically in column H if the info is added in column F of the same row. The code I wrote works but I have to return to column F after the info is added in F and only after that reverse-move does the required info appear in H Where is my mistake and how to fix this problem? Thanks! Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myCell As Range If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub ApplicationEnableEvents = False Range("H:H").NumberFormat = "mm/dd/yyyy" For Each myCell In Intersect(Target, Range("F:F")) rw = myCell.Row Cells(rw, "H").FormulaR1C1 = "=IF(RC[-2]<"""", Now(), """")" Cells(rw, "H").Value = Cells(rw, "H").Value Cells(rw, "M").Value = Environ("UserName") Next myCell Application.EnableEvents = True End Sub |
auto running macro
Wrong event type.
Also some unneeded stuff in there with the formulas and change to values. Private Sub Worksheet_Change(ByVal Target As Range) Dim myCell As Range If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub On Error GoTo endit Application.EnableEvents = False With Target If .Value < "" Then .Offset(0, 2).Value = Format(Now, "mm/dd/yy") .Offset(0, 7).Value = Environ("Username") End If End With endit: Application.EnableEvents = True End Sub Gord Dibben MS Excel MVP On Thu, 12 Nov 2009 14:16:01 -0800, Maryna wrote: I have to have the date added automatically in column H if the info is added in column F of the same row. The code I wrote works but I have to return to column F after the info is added in F and only after that reverse-move does the required info appear in H Where is my mistake and how to fix this problem? Thanks! Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myCell As Range If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub ApplicationEnableEvents = False Range("H:H").NumberFormat = "mm/dd/yyyy" For Each myCell In Intersect(Target, Range("F:F")) rw = myCell.Row Cells(rw, "H").FormulaR1C1 = "=IF(RC[-2]<"""", Now(), """")" Cells(rw, "H").Value = Cells(rw, "H").Value Cells(rw, "M").Value = Environ("UserName") Next myCell Application.EnableEvents = True End Sub |
All times are GMT +1. The time now is 06:14 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com