Celda y hora

Hola Mauricio, ¿te acordarás que te pedí la hora del sistema?, Bueno tengo ahora un problemita, yo habilito cierto Botón de macro que llama a un formulario y quiero que al aceptar el formulario, la hora del sistema quede registrado en una celda pero como valor fijo de tal modo que si vuelvo a llamar al formulario y acepte de nuevo no me ponga la nueva hora transcurrida, en el mismo formulario tengo un comando que se llama limpiar, este me debe limpiar esa celda que capturó la hora y si hago clic en Aceptar me debe poner otra vez la hora del sistema... :( y no sé como hacerlo.

1 Respuesta

Respuesta
1
A ver si entendí...
Cuando des clic en Aceptar debe de poner la hora de sistema pero solo si la celda esta vacía, ¿es correcto?
Suponiendo que dicha celda sea la A1, entonces el código seria...
If Range("A1").Value<>"" Then
Range("A1").Value = Time()
End If
Para limpiar la celda, usa...
Range("A1").Value = ""
Si esto resuelve tu problema.
Hola Mauricio, hasta aquí vamos con normalidad, el problema viene en los siguiente:
Digamos que yo llamo al formulario para poner el tiempo(hora y minuto) que estará una persona en un lugar determinado, es decir hay un textbox que me permite esto, pero al aceptar pongo la fórmula que me acabas de mencionar, hasta allí vamos, pero si yo quisiera agregarle más minutos u horas al usuario, tengo que volver a llamar al formulario y agregar ese tiempo adicional y debo volver a aceptar, pero la celda que capturó en un inicio la hora del sistema, No TIENE que incrementarse o actualizarse, es decir no debe volver a poner la nueva hora. Esto lo puedo hacer convirtiendo la fórmula en valor
range("A1"). formula = Range("A1"). value
pero cuando el usuario acaba el tiempo, entonces yo debo limpiar esa celda para poder hacer otro ingreso, pero ya no puedo volver a capturar la hora del sirtma.
No, de plano no entendí, detallalo más
Hola Mauricio a los tiempos, gracias a Dios que te has liberado un poco de tu arduo trabajo. Bien voy al punto de aclarar:
El ingreso de la hora de un persona y su cálculos respectivos lo hago mediante un formulario pero para capturar la hora en que esa persona ingresa lo único que hago en programar dentro del comando aceptar del formulario lo siguiente:
Range("B6") =Range("C2")
En el rango "C2" tengo activada o muestro la hora del sistema, con sus minutos y su segundos cambiantes, es decir la que enviaste.
El problema viene cuando quiero añadir más tiempo a dicha persona, yo tengo que volver a llamar al formulario y le agrego el tiempo, pero al aceptar me puso la "nueva hora", lo cual no debe ser así, esta celda "B6" debe quedar con la hora que capturó en un principio. Podría haberlo convertido a esa celda en Valor así range("B6"). formula = Range("B6"). value
pero eso ya no funciona cuando trato de hacer un nuevo ingreso de una nueva persona, es decir debo empezar de cero.
Espero haber sido clara sino dímelo y te explico con lujo de detalles. Gracias
No mucho, siempre hay que hacer, pero aquí estamos...
Ok, entonces la celda B6 solo hay que validar si esta vacía, la dejamos tal cual, sino, le ponemos la hora de la celda C2 que es donde esta el reloj ¿verdad?, el siguiente código hace lo que quieres...
If Range("B6").Value <> Then
Range("B6").Value = Range("C2").Value
End If
Estas lineas van en sustitucion de la que tu usas
Range("B6") =Range("C2")
Lo que hace es que si la celda ya tiene una hora, la deja tal cual, sino, pone la hora de la celda C2 donde tiene el reloj, ojala y ahora si haya entendido, si es así no te olvides de finalizar la pregunta, sino, vuelve a preguntar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas