¿Puedo hacer una plantilla con Excel para que al seleccionar una celda aparezca la hora?

Necesito hacer como un planilla donde cuando hag clip en una celda de una columna determinada se me coloque la hora con minutos por eje : hago clip en f4 y se pone 16:03 y después de un tiempo hacer clip en la celda de al lado y se coloque la hora por ej en g4 hago clip y se pone 16:13 ya que después en la celda de al lado restando ambas se el tiempo que hubo h4=g4-f4
¿Se puede hacer esto? Y si sabes te lo voy agradecer que me lo expliques
muchisima gracia daniel

1 respuesta

Respuesta
1
Te comento, en Excel casi todo se puede hacer y lo que no se complementa con VBA de Excel; pero para VBA hay que entender el lenguaje de Visual basic. Como en este caso, Yes! Copiarás código, pero no hay problema, ya está listo, te mando todo hecho.
En ocasiones las preguntas no me quedan del todo claras.
Por ej.
No es lo mismo:
... Cuando haga click en una celda de una columna determinada que
... Cuando haga click en una determinada celda
En la primera entiendo...
Un click en cualquier celda pero siempre de la misma columna, por las dudas te mando una para que la uses donde quieras, pero no se activa con un click, porque si no cada vez que hagas click en cualquier parte del libro se te meterían los tiempos o sea que no podrías usar el mouse, así que la activarás con una combinación de teclas por ej. CTRL+Q pero lo tendrás que configurar vos, al final te explico.
Por ahora, empezá por abrir VBA, si no sabés cómo: ALT+F11 o Si querés mostrar la barra En el menú VER/ Barras_DE_Herramientas/Visual_Basic (Es más mejor mostrá la barra por que después la vamos a usar)y click en la hojita "Editor de VBA" o CTRL+F11.
Una vez dentro de VBA, preiona CTRL+R (esto es por las dudas de que la ventana proyecto esté oculta)
En la barra de menú del VBA:
Insertar/Módulo...
Verás en la ventana "Proyecto" el módulo insertado-DobleClick sobre él y copia todo este código, no hace falta que lo escribas, podes seleccionarlo y después CTR+C para copiar, vas al módulo y CTRL+V para pegar.
Este es el código:
Sub Grabar_Tiempo()
Application.ScreenUpdating = False
ActiveCell.FormulaR1C1 = "=NOW()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = "h:mm:ss;@"
ActiveCell.Offset(0, 1).Activate
Application.ScreenUpdating = True
End Sub
Sub Ver_Tiempo()
Application.ScreenUpdating = False
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = "h:mm:ss;@"
Application.ScreenUpdating = True
End Sub
Acá ya termino, Ah! Perdoná que te de tantas indicaciones, pero no sé cuánto entendés sobre Excel y VBA. Bueno la primer macro es la que insertará los tiempos y la segunda te mostrará cuánto transcurrió entre uno y otro.
Antes de cerrar VBA, en la ventana proyecto, sobre el módulo, hace click con el botó derecho (secundario)del mouse y click en "Exportar_Archivo" y guardalo donde quieras, después cerra VBA.
Ahora estás en Excel de nuevo. En la barra de visual Basic Click en el botón Play/Reproducir
Se abre la ventana MACRO y verás las macros que copiamos en el módulo que insertaste en VBA.
Con un solo click seleccioná la primer macro: Grabar_Tiempo
Y click sobre el botón "Opciones" y en el casillero ingresa la letra "Q" (sin las comillas)
Y "Aceptar", lo mismo con la otra, pero ingresá la letra "W" (sin las comillas)
Y "Aceptar" y "Cerrar".
De ahora en más, cada vez que pulses CTRL+Q se insertará la hora actual con H:MM:SS en la celda que esté activa y se desplazará a la celda derecha inmediata, otra vez CTRL+Q vuelve a hacer lo mismo (Claro que con el tiempo actualizado) y se vuelve a desplazar a la derecha y ahí CTRL+W y tenés el tiempo transcurrido. Siempre calcula entre los dos últimos, osea que si presionas CTRL+Q diez veces seguidas y después CTRL+W calculará sbore los tiempos 9 y 10.
Si no querés que muestre los segundos, en las dos macros busca la línea:
Selection.NumberFormat = "h:mm:ss;@"
y modificá lo último para que quede así:
Selection.NumberFormat = "h:mm"
Es decir borra (:ss;@)
Bueno espero que te sirva porque hace un buen rato que
Estoy escibiendo. Cualquier otra duda preguntame.
No olvides finalizar y valorar la respuesta. Hasta la próxima.
Mira ante todo quiero agradecerte muchísimo por haber dedicado tu valioso tiempo para ayudarme
Ahora lo voy a probar pero muchísima gracias .
Cualquier cosa si algo no me sale te vuelvo a molestar
un abrazo daniel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas