Tengo una hoja en donde quiero llevar el control

Buenos días, abusando de tu experiencia, tengo una hoja en donde quiero llevar el control de entradas/salidas (tiempos de computadora), el formato de la hoja seria:
Num Entrada Salida Tiempo
1 10:25 11:15 00:50
Me gustaría que al presionar un botón, se fijara el tiempo del sistema en la columna Entrada, y al presionar otro se fijara el tiempo del sistema en la columna salida...
Esto seria en cada renglón, y los botones estarían al final de cada renglón...
De antemano, muchas gracias

1 respuesta

Respuesta
1
Lo que tu propenes obliga a crear todos los botones al principio e ir asignando el código individualmente a cada uno de ellos.
Entonces, con un ejemplo tienes suficiente. Para ponerlos todos, solo tendrás que ir cambiando la casilla de destino.
Primero te recomiendo que pongas el formato de celdas que creas conveniente, para que no te salga toda la fecha entera.
El código del botón sería este:
Private Sub CommandButton1_Click()
Range("B2").Value = Now
End Sub
Saludos.
P.D. Si necesitas crear muchas filas y te cuesta mucho trabajo hacerlo así, explicame con más detalle lo que quieres hacer para que te de una mejor solución. Se podría hacer solo con 2 botones e ir rellenando siempre por debajo de la ultima casilla escrita, por ejemplo. O hasta con 1 solo botón.
Tengo un libro en donde estoy desarrollando lo que necesito, si me pudieras dar una dirección para que te lo envíe, y me des tu opinión, te lo agradecería mucho.
Más o menos lo que quiero es:
a) Cuando el cliente llegue, que registren el numero de maquina que va a usar, y que palomeen la casilla de la hora de entrada (se fija el tiempo con la hora del sistema), y en la columna de hora de salida pone la misma hora, pero esta se va actualizando según el reloj interno del sistema, y pone todo el renglón con un color.
b) Cuando el cliente termine, que palomeen la casilla de la hora de salida, en este momento se fija el tiempo y ya no sigue corriendo, y le quita el color al renglón.
Todo eso ya esta hecho, pero tiene algunos detallitos...
Y ahora vienen las preguntas... (perdón que abuse de tus conocimientos).
1. ¿Es posible que ponga solo horas y minutos? (Aunque la celda esta formateada el valor es con segundos), o en su defecto que fije los segundos a 00
2. Lo hice para 10 renglones, pero como no se mucho de esto, hice 2 macros para cada renglón (y necesito N renglones), problema... Tengo 20 macros casi iguales, pregunta: ¿Se podría simplificar?
3. ¿Hay manera de checar el estado de la casilla de verificación?, es decir si esta palomeada que ejecute la macro, y si no que ejecute otra o que ponga una fórmula o un valor...
4. En la columna TOTAL, tengo varios IF para determinar cuanto voy a cobrar de acuerdo al tiempo consumido... se que hice una burrada, pero no tengo idea de como simplificarlo, ¿se puede?
5. ¿Puedo hacer que una macro se ejecute automáticamente al abrir la hoja?
Muchas gracias :)
1. Utiliza un formato de celda personalizado y escribe el formato que más te convenga. Hay ejemplos muy claros para ello.
Ej: hh:mm
2.Puedes hacer un modulo que contenga 2 funciones a las cuales se les pase el numero de linea que hay que modificar. Pero tendrías que poner código igualmente, dentro del "clic" de cada botón. Si quieres te explico como hacer funciones en los módulos
3.Si, en el código del "clic" tienes que poner algo así. Este ejemplo te servirá de ayuda:
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Range("A1").Select
Else
Range("A2").Select
End If
End Sub
Tienes que mirar el nombre de los controles para llamarlos. (Checkbox1, commandbutton1 y todo eso)
4.no se como calculas el total ni la "burrada que hiciste"
5. Si, en el editor de Visual basic puedes ver los evetos que se ejecutan. El de activar la hoja es:
Private Sub Worksheet_Activate()
End Sub
(tienes que mirarlo en las listas desplegables de arriba)
Pero si lo que quieres es que se active al abrir el Libro, entonces tienes que hacer doble-clic en "EsteLibro" en la parte izquierda y ponerlo en:
Private Sub Workbook_Open()
End Sub
Bueno, investiga un poco y luego me dices lo que.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas