Saltar al contenido

excel vba cómo obtener el valor anterior de un ejemplo de código de celda modificado

Haz todo lo posible por comprender el código correctamente previamente a usarlo a tu trabajo y si tdeseas aportar algo puedes comentarlo.

Ejemplo: excel vba cómo obtener el valor anterior de una celda modificada

'Place the following in the CODE MODULE of a WORKSHEET 
'to track the last value for every cell in the used range:

Option Explicit

Private r As Range
Private Const d = "||"

Public Function ValueLast(r As Range)
    On Error Resume Next
    ValueLast = Split(r.ID, d)(1)
End Function

Private Sub Worksheet_Activate()
    For Each r In Me.UsedRange: Record r: Next
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    For Each r In Target: Record r: Next
End Sub

Private Sub Record(r)
    r.ID = r.Value & d & Split(r.ID, d)(0)
End Sub

'----------------------------------------------------------------------
'And that's it.

'This solution uses the obscure and almost never used Range.ID 
'property, which allows the old values to persist when the workbook 
'is saved.

'At any time you can get at the old value of a cell and it will 
'indeed be different than a new current value:

With Sheet1
	MsgBox .[a1].Value
    MsgBox .ValueLast(.[a1])
End With

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *