![]() |
Write data inthe worksheet / array
Situation: Cells 14,B holds my variable. This changes over time (by the vb code). Is there some way that, when the data changes it will be written in a new cell. Something like this. If Range("B14") < Range("B14") Then old new copy it into cell C1. then C2, then C3 etc etc And then loop this until no more changes. |
Write data inthe worksheet / array
Private Sub Worksheet_Change(ByVal Target As Range) Const WS_RANGE As String = "B14" Dim iRow As Long On Error GoTo ws_exit Application.EnableEvents = False If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then With Target iRow = Me.Cells(Me.Rows.Count, "C").End(xlUp).Row If iRow 1 Or Me.Cells(iRow, "C").Value < "" Then iRow = iRow + 1 End If Me.Cells(iRow, "C").Value = .Value End With End If ws_exit: Application.EnableEvents = True End Sub 'This is worksheet event code, which means that it needs to be 'placed in the appropriate worksheet code module, not a standard 'code module. To do this, right-click on the sheet tab, select 'the View Code option from the menu, and paste the code in. -- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Robert" wrote in message oups.com... Situation: Cells 14,B holds my variable. This changes over time (by the vb code). Is there some way that, when the data changes it will be written in a new cell. Something like this. If Range("B14") < Range("B14") Then old new copy it into cell C1. then C2, then C3 etc etc And then loop this until no more changes. |
Write data inthe worksheet / array
It looks like you want to trace the values that get put into B14. try this
code. the worksheet change function need to be placed in the Sheet code, not a module. Sub worksheet_change(ByVal target As Range) If (target.Row = 14) And _ (target.Column = 2) Then 'get last value in column c LastRow = Cells(Rows.Count, "C").End(xlUp).Row oldvalue = Cells(LastRow, "C") If (LastRow = 1) And IsEmpty(oldvalue) Then Cells(1, "C") = target Else If target < oldvalue Then Cells(LastRow + 1, "C") = target End If End If End If End Sub "Robert" wrote: Situation: Cells 14,B holds my variable. This changes over time (by the vb code). Is there some way that, when the data changes it will be written in a new cell. Something like this. If Range("B14") < Range("B14") Then old new copy it into cell C1. then C2, then C3 etc etc And then loop this until no more changes. |
All times are GMT +1. The time now is 05:26 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com