Necesito ayuda para mi archivo de control de horarios en mi Microsoft Excel

Hola Mauricio, después de unas cuantas lunas. Yo sé que tu sabes lo que te voy a pedir y es lo siguiente:
Tengo en la columna A el tiempo o la hora en que entra una persona a un lugar, en la columna B debo registrar QUE tiempo va estar esa persona en ese lugar, (ejemplo 15 minutos), en la columna C debo visualizar el tiempo que va transcurriendo, cumplido el tiempo, en la columna DE me debe aparecer un mensaje que diga "TIEMPO CUMPLIDO" caso contrario ""(vacío o nada), en resumen
A = 10:40
B = 20 Minutos
C = 11:00
D = Tiempo cumplido
Mil gracias por tu ayuda.

1 respuesta

Respuesta
1
En la columna DE pon la siguiente fórmula que hace lo que quieres, es requisito indispensable que los datos de las columnas A, B y C sean en formato de horas, por supuesto la columna C la obtienes de la suma de A + B, pero esa es tu tarea, la siguiente fórmula te muestra lo que quieres, tienes que ponerla en la columna DE, cada vez que quieras checar el estado de las fórmulas solo presionas F9 para que recalcule tu hoja, saludos...
=SI(TEXTO(AHORA(),"HH:mm")>=TEXTO(C2,"HH:mm"),"Tiempo cumplido","")
Mauricio
HolaMauricio, ¿Hay alguna forma de ir visualizando en la columna C el tiempo que va transcurriendo? ¿Y qué la columna DE automáticamente me mencione dicho mensaje cuando la Columna C llegue a su tope en la hora?. Si puedo trabajar con macros y VBA pero no encuentro la forma de hacer esto.
Si, hay forma, puedes usar el método OnTime del objeto Application, pero en lo personal no me gusta, te mostrare como hacerlo con una función del API de Windows, crea un nuevo libro y agrega los siguiente datos...
A1 = Inicio
B1 = Duracion
C1 = Fin
D1 = Actual
E1 = Estado
A2 = Pon la hora de inicio
B2 = Pon la duracion
C2 =A2+B2
D2 VACIA
E2 =SI(D2>C2,"Tiempo concluido","")
Recuerda que las celdas A2:D2 todas tienen el formato de horas
Ahora, agrega un nuevo modulo de codigo y copia todo el codigo que te muestro...
Option Explicit
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, _
ByVal nIDEvent As Long) As Long
Dim TimerID As Long
Private Sub IniciarTimer(ByVal Intervalo As Long)
#If VBA6 Then
TimerID = SetTimer(0, 0, Intervalo, AddressOf TimerExecute)
#End If
End Sub
Public Sub DetenerReloj()
KillTimer 0, TimerID
End Sub
Private Sub TimerExecute()
Dim strReloj As String
On Error Resume Next
strReloj = Format(Now, "HH:mm:ss")
Range("D2").Value = strReloj
End Sub
Public Sub IniciarReloj()
IniciarTimer 1000
End Sub
Arranca el reloj con la macro IniciarReloj y ve como en D2 iras viendo como avanza el reloj y al llegar a la hora te muestra el mensaje que quieres, supongo que lo usaras con más de una fila, tu tarea es adaptarlo a tus necesidades, como pista de dijo que puedes usar UN solo reloj, también MUY IMPORTANTE, detén el reloj ANTES de que cierres el libro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas