¡Hay una solución! Coloca este código VBA en el módulo de tu hoja de trabajo, es decir:
- Abre el Editor de Visual Basic (Alt-F11)
- En la vista de árbol superior izquierda, haga doble clic en la hoja en la que desea introducir sus tiempos
- En el panel central de código, coloque el siguiente código.
- Cierre el VBE
Utilice este código: ¡
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
Application.EnableEvents = False
Target.Value = Target.Value / 60
Target.NumberFormat = "mm:ss"
Application.EnableEvents = True
End Sub
En caso de que ya haya formateado el rango en el que está introduciendo los datos, utilice esta línea en su lugar como primera línea:
If Target.Value < 0 Or Target.Value > 1 Then Exit Sub
Tenga en cuenta que esto cambiará el valor y el formato - cada vez que introduzca un tiempo - o algo que esté entre 0 y 1! Si quiere restringirlo a una determinada columna, añada esta línea:
If Target.Column <> 3 Then Exit Sub
o esta línea para restringirlo a un determinado rango
If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub