Pasar valor de una celda a otra en una fecha determinada y que la segunda permanezca fija aunque cambie la original

Necesito que durante una cada trimestre el valor que le va dando una formula SUMAR. SI. CONJUNTO, se vaya copiando a otro celda, pero que al cambiar el trimestre el valor final permanezca en la celda destino, aunque vaya variando la original, esta operación debe repetirse durante cada uno de los cuatro trimestres de tres años consecutivos. Utilizo Excel 16.

Respuesta
1

Para que un valor permanezca fijo deberá colocarse con una macro.

Envíame tu archivo y me explicas con un par de ejemplos qué dato se debe copiar y en dónde se debe pegar para permanecer fijo

Adapto la macro para que la revises.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “peman38

Mu chas gra cias. Lo preparo y te lo envío mañana. Sa_lu_dos

Hola, dANTE.    Muchas gracias por tu código que funciona perfectamente. Pero verás, es indudable que no supe explicarme bien. Lo que yo pretendo, y que conste que se ni siquiera si es posible, es que al finalizar cada trimestre, automáticamente, sin intervención del operador, el valor provisional se pase a definitivo, debido a que serán bastantes los colaboradores y quisiera que al operador no se le olvidase regularizar a todos cada trimestre. No se si como evento se puede usar el cambio de fecha del ordenador, o eso es imposible. Dime si debo subir esta respuesta al foro o basta que tu la tengas. Debo reconocer que, como el célebre filosofo, "que lo único que sé, es que no sé nada". Muchas gracias y un cordial saludo.

Código

Sub Cerrar_Trimestre()
'Por.Dante Amor
    Do While True
        wtrim = InputBox("Indica el trimestre a cerrar (1,2, 3 o 4) : ")
        wtrim = Val(wtrim)
        Select Case wtrim
            Case 1, 2, 3, 4
                Exit Do
            Case "", 0
                Exit Sub
            Case Else
                MsgBox "No es un trimestre correcto"
        End Select
    Loop
    '
    año = Year(Date)
    Set b = Rows(2).Find(año, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "No existe el año actual enla fila 2"
        Exit Sub
    Else
        col = b.Column - 1
    End If
    '
    ttrim = wtrim & "º " & "TRIMESTRE"
    Set b = Columns(col).Find(ttrim, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "No existe el trimestre : " & wtrim
        Exit Sub
    Else
        fila = b.Row
    End If
    '
    If Cells(fila, col + 2) <> "" Then
        MsgBox "El trimestre ya había sido cerrado"
        Exit Sub
    Else
        ActiveSheet.Unprotect "abc"
        Cells(fila, col + 2) = Cells(fila, col + 1)
        Cells(fila + 7, col + 2) = Cells(fila + 7, col + 1)
        ActiveSheet.Protect "abc"
        MsgBox "Trimestre cerrado como definitivo"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas