Excel - Sumar o restar números respetando una medida fija

 
Vista:

Sumar o restar números respetando una medida fija

Publicado por inolla (1 intervención) el 07/02/2024 12:46:50
Hola buenos días. Tengo una medida de hueco de luz= 2,428
Lo que quiero es que 4 celdas con valores cambien a medida que introduzco medidas de suma o resta sin salirnos del 2,428

O sea Quiero cambiar el A17 A 0,700. Sumando todas quedaría 2647 me salgo de la medida inicial

Lo que quiero es que algunas celdas cambien y otras queden fijas con el mismo valor con total de 2428

A17= 0,700 A17= 0,700
A18= 0,649 Que no varíe
A19= 0,649 Que no varíe
A20 =0,649 A20= 0,430 con variación
----------------- --------------------
2,647 2,428


Un saludo y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Sumar o restar números respetando una medida fija

Publicado por Antoni Masana (2478 intervenciones) el 07/02/2024 13:34:49
A ver si lo entiendo:

Tienes 4 celdas A17, A18, A19 y A20 las cuales tienen unos valores que la suma tiene que dar un total de 2,428.

Quieres que la A18 y A19 sean fijas. Supongo que quieres que el usuario no las pueda modificar.
Quieres que modificando la A17 la A20 modifique su valor para que el total no cambie.
Quieres que modificando la A20 la A17 modifique su valor para que el total no cambie.

Pasos a seguir:

Opción A:
- Bloquear toda la hoja.
- Desbloquear las celdas A17 y A20

Opción B:
- Desloquear toda la hoja.
- Bloquear las celdas A18 y A19

- Bloquear la hoja con contraseña
- Añadir esta macro en la hoja

1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Total = Range("A17") + Range("A18") + Range("A19") + Range("A20")
        If Total <> 2.428 Then
            Application.EnableEvents = False
            If Target.Row = 17 Then Range("A20") = 2.428 - Range("A17") - Range("A18") - Range("A19")
            If Target.Row = 20 Then Range("A17") = 2.428 - Range("A18") - Range("A19") - Range("A20")
            Application.EnableEvents = True
        End If
    End If
End Sub

Y problema resuelto.

NOTAS:
- Para bloquear celdas: ir a la pestaña Inicio, grupo Fuentes, abrir ventana e ir al pestaña Proteger
- Para bloquear hoja: ir a la pestaña Revisar, Grupo Proteger, Icono Proteger Hoja

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar