Inicio > Microsoft Excel > hugomario > a ver si me podes ayudar

a ver si me podes ayudar

Experto:
Usuario:
Fecha: 09/03/2005
Valoración: Categoría: Microsoft Excel
09/03/2005
danielcapo, usuario preguntando en Microsoft Excel
Usuario
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 despues 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 despues 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
09/03/2005
danielcapo, experto respondiendo en Microsoft Excel
Experto
Hola Daniel:

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 VisualBasic. Como en este caso, Yes!! copiarás código, pero no hay problema, ya está listo, te mando todo hecho.

En ocaciones 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 simpre 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, asi 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 mostra la barra por que despúes 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, podés 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 entendes 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 mas, 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. Simpre 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;@)

Buno 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.
09/03/2005
danielcapo, usuario preguntando en Microsoft Excel
Usuario
Mira ante todo quiero agradecerte muchisimo por haber dedicado tu valioso tiempo para ayudarme
Ahora lo voy a probar pero muchisima gracias .
cualquier cosa si algo no me sale te vuelvo a molestar
un abrazo daniel
Enlaces patrocinados