Obtener valores de celdas antes de que cambie
Tengo una tabla que consta de filas en grupos de dos
la superior es el horario cambiado
la inferior es el horario normal del trabajador
en la columna e hay una celda con lista de validación con valores "normal" "cambiado" y se activa la fila superior o inferior según se elija.
Lo que quiero es que el valor de las celdas de la fila inferior (horario normal) pasen a la superior (horario cambiado) al cambiar la celda de validación a "cambiado"
Y si activo en la celda de validación "normal" me limpie toda la fila del horario cambiado.
El código que tengo es este:
Dim oldValue1 As Variant Dim oldValue2 As Variant Dim oldValue3 As Variant Private Sub Worksheet_SelectionChange(ByVal Target As Range) oldValue1 = Range("$G" & Target.Row + 1).Value oldValue2 = Range("$Z" & Target.Row + 1).Value oldValue3 = Range("$AA" & Target.Row + 1).Value End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Application.ScreenUpdating = False If Target.Column = 5 And Target.Value = "NORMAL" Then Range("$G" & Target.Row).Value = "" ElseIf Target.Value = "CAMBIADO" Then Range("$G" & Target.Row).Value = oldValue1 Range("$Z" & Target.Row).Value = oldValue2 Range("$AA" & Target.Row).Value = oldValue3 End If End Sub
Por un lado no me sale limpiar las celdas del horario cambiado que seria el rango Range(("$Z" & Target.Row),("$BL" & Target.Row))
Y por otro me sube el valor pero si cambio varias veces de normal a cambiado pierde el subir los valores.
Me pueden orientar un poco