¿Cómo quitar fórmula a celda y copiar dato en otra celda?

Tengo en una hoja de Excel una lista de 12 puestos de trabajo, en la columna siguiente tengo un campo llamado "DÍAS" que contiene una fórmula que contabiliza los días laborados de cada puesto.

Necesito hacer que en la a la par de cada celda( fórmula) me aparezca el resultado pero sin la fórmula.

Investigando un poco encontré unas opciones, pero al ejecutar por separado cada una, Excel deja de funcionar:

Private Sub Worksheet_Change(ByVal Target As Range)
Call opcion1
'Call opcion2
'Call opcion3
End Sub
Sub opcion1()
   For Each cell In Range("C2:C13")
       cell.Offset(, 1) = Int(cell.Value)
    Next cell
End Sub
Sub opcion2()
Range("C2").Copy Destination:=Range("D2")
Range("C3").Copy Destination:=Range("D3")
Range("C4").Copy Destination:=Range("D4")
Range("C5").Copy Destination:=Range("D5")
Range("C6").Copy Destination:=Range("D6")
Range("C7").Copy Destination:=Range("D7")
Range("C8").Copy Destination:=Range("D8")
Range("C9").Copy Destination:=Range("D9")
Range("C10").Copy Destination:=Range("D10")
Range("C11").Copy Destination:=Range("D11")
Range("C12").Copy Destination:=Range("D12")
Range("C13").Copy Destination:=Range("D13")
End Sub
Sub opcion3()
Range("D2") = Range("C2")
Range("D3") = Range("C3")
Range("D4") = Range("C4")
Range("D5") = Range("C5")
Range("D6") = Range("C6")
Range("D7") = Range("C7")
Range("D8") = Range("C8")
Range("D9") = Range("C9")
Range("D10") = Range("C10")
Range("D11") = Range("C11")
Range("D12") = Range("C12")
Range("D13") = Range("C13")
End Sub

1 Respuesta

Respuesta
1

Te explico por qué excel deja de funcionar.

Con lo siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
Call opcion1
End Sub
Sub opcion1()
   For Each cell In Range("C2:C13")
       cell.Offset(, 1) = Int(cell.Value)
    Next cell
End Sub

Cada vez que modificas una celda, se activa el evento Change.

Cada que se activa el evento Change, ejecuta la macro opcion1.

En la macro tienes un for que modifica las celdas de la columna D.

Cada vez que modificas una celda de la columna D se activa nuevamente el evento Change. Entonces entra en bucle interminable. Por eso excel deja de funcionar.


Por lo que estoy entendiendo, cada vez que una fórmula cambia su resultado necesitas actualizar el valor de la columna D.

Cambiar el resultado de una fórmula no activa el evento Change. Lo que activa el evento Change es cuando modificas el valor de una celda. En el caso de la fórmula, la fórmula sigue siendo la misma, lo que cambió fue el resultado de la fórmula.


Intentemos lo siguiente, pon aquí la fórmula que tienes en la celda C2 para revisarla. Necesito saber cuáles celdas intervienen en la fórmula C2.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas