Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Need help with Time Stamp Code
I have written some VBA code which captures a time stamp in column G o the worksheet when the value in columns B or C is changed. (Code paste below) When a user clicks on a cell in Column B or C it captures th current value, then compares it against the new value if the workshee is changed. My problem is when more than one cell is selected i columns B or C, the code errors out at the line which it's trying t capture the value of the cell before it is changed (y = target.value). How do I write code into the program to only capture the current valu if only one cell is selected. If more than one cell is selected, don't want the y = target.value line of code to be executed. Option Explicit Dim y As String Dim x As String __________________________________________________ ___________ Private Sub Worksheet_SelectionChange(ByVal Target As Range) y = Target.Value End Sub __________________________________________________ _ Private Sub Worksheet_Change(ByVal Target As Range) Dim x As Long x = Target.Row If Target.Column = 2 And y < Target.Value Or Target.Column = 3 An y < Target.Value Then Cells(x, 7) = Time Cells(x, 7).NumberFormat = "hh:mm:ss" End If End Su -- chkoch9 ----------------------------------------------------------------------- chkoch99's Profile: http://www.excelforum.com/member.php...fo&userid=3149 View this thread: http://www.excelforum.com/showthread.php?threadid=51173 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Need help with Time Stamp Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count 1 Then Exit Sub y = Target.Value End Sub "chkoch99" wrote: I have written some VBA code which captures a time stamp in column G of the worksheet when the value in columns B or C is changed. (Code pasted below) When a user clicks on a cell in Column B or C it captures the current value, then compares it against the new value if the worksheet is changed. My problem is when more than one cell is selected in columns B or C, the code errors out at the line which it's trying to capture the value of the cell before it is changed (y = target.value). How do I write code into the program to only capture the current value if only one cell is selected. If more than one cell is selected, I don't want the y = target.value line of code to be executed. Option Explicit Dim y As String Dim x As String __________________________________________________ ___________ Private Sub Worksheet_SelectionChange(ByVal Target As Range) y = Target.Value End Sub __________________________________________________ _ Private Sub Worksheet_Change(ByVal Target As Range) Dim x As Long x = Target.Row If Target.Column = 2 And y < Target.Value Or Target.Column = 3 And y < Target.Value Then Cells(x, 7) = Time Cells(x, 7).NumberFormat = "hh:mm:ss" End If End Sub -- chkoch99 ------------------------------------------------------------------------ chkoch99's Profile: http://www.excelforum.com/member.php...o&userid=31497 View this thread: http://www.excelforum.com/showthread...hreadid=511736 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Need help with Time Stamp Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count 1 then exit sub .. . . -- Regards, Tom Ogilvy "chkoch99" wrote in message ... I have written some VBA code which captures a time stamp in column G of the worksheet when the value in columns B or C is changed. (Code pasted below) When a user clicks on a cell in Column B or C it captures the current value, then compares it against the new value if the worksheet is changed. My problem is when more than one cell is selected in columns B or C, the code errors out at the line which it's trying to capture the value of the cell before it is changed (y = target.value). How do I write code into the program to only capture the current value if only one cell is selected. If more than one cell is selected, I don't want the y = target.value line of code to be executed. Option Explicit Dim y As String Dim x As String __________________________________________________ ___________ Private Sub Worksheet_SelectionChange(ByVal Target As Range) y = Target.Value End Sub __________________________________________________ _ Private Sub Worksheet_Change(ByVal Target As Range) Dim x As Long x = Target.Row If Target.Column = 2 And y < Target.Value Or Target.Column = 3 And y < Target.Value Then Cells(x, 7) = Time Cells(x, 7).NumberFormat = "hh:mm:ss" End If End Sub -- chkoch99 ------------------------------------------------------------------------ chkoch99's Profile: http://www.excelforum.com/member.php...o&userid=31497 View this thread: http://www.excelforum.com/showthread...hreadid=511736 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Time Stamp | Excel Discussion (Misc queries) | |||
Time Stamp | Excel Discussion (Misc queries) | |||
Time Stamp | Excel Worksheet Functions | |||
time stamp | Excel Worksheet Functions | |||
time stamp a cell that doesn,t change when time stamping another | Excel Programming |