Detener la ejecución de una fórmula cuando se alcanza determinado valor

Otra vez. Siento molestar tanto, pero ahora me ha surgido otro problema.

Tengo tres celdas por ejemplo A39, B39 y C39, las tres con formato [h]:mm:ss

La celda C39, suma los datos del rango C7:C37 (=Suma(C7:C37)) y la celda A39 tiene un valor fijo de 20:00:00.

Por último, la celda B39 tiene el valor que corresponde a restar C39 menos A39 y por lo tanto la fórmula es:

=C39-A39 

Lógicamente, cuando C39 es menor que A39 aparecen asteriscos en B39, pero eso no me preocupa ya que esas celdas no serán visibles.

Mi problema es que necesito que, en el momento en el que C39 alcance o supere por primera vez el valor de A39, reste estas dos celdas y se quede bloqueada, es decir que no siga aplicando la fórmula.

Para explicarme mejor:

Si C39 = 19:00:00 se aplica la fórmula

Si C39 sube a 19:30:00 se aplica la fórmula

Cuando C39 llega o supera POR PRIMERA VEZ 20:00:00 se aplica la fórmula y ya No vuelve a aplicarse más, de modo que B39 queda con el valor que adquirió en el momento en que C39 llegó o superó por primera vez el valor de 20:00:00

No sé si esto será posible, o si tendré que utilizar más celdas con más valores, pero me sería de gran ayuda para poder terminar mi pequeña aplicación...

Sería algo así como decirle a la celda B39

Si C39 < 0,833333333 (valor en nº general para 20:00:00), entonces resta C39-A39, cuando el valor de C39 alcance o supere 0,833333333, realiza la resta y, a partir de ese momento, deja de aplicar la fórmula para que en B39 me quede el valor de esa última resta...

No sé si me he explicado bien.

1 Respuesta

Respuesta
2

Borra el contenido de la celda B39

Pon la siguiente macro en los eventos de la hoja

Private Sub Worksheet_Calculate()
'Por.Dante Amor
    If [B39] = "" Then
        If [C39] >= [A39] Then
            [B39] = [C39] - [A39]
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Empieza a capturar valores en las celdas de C7 a C37, cuando el valor de C39 sea igual o mayor a A39 entonces se calculará la diferencia en B39 y ya no va a cambiar.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas