La función Minute en VBA sirve para obtener el minuto de un valor de hora asignado o de la hora en la que se ejecuta el comando. El valor del minuto está comprendido entre los valores 0 y 59.
Con el siguiente ejemplo podemos determinar el segundo de una hora asignada
Sub Macro1()
Dim Estahora As Date
Dim Esteminuto As Integer
Estahora = #4:35:17 AM#
Esteminuto = Second(Estahora)
MsgBox "El minuto es: " & Esteminuto
End Sub
Con el siguiente ejemplo podemos determinar el segundo de la hora en la que se ejecuta el comando
Sub Macro2()
Dim Estahora As Date
Dim Esteminuto As Integer
Estahora = TimeValue(Now)
Esteminuto = Minute(Estahora)
MsgBox "El minuto es: " & Esteminuto
End Sub
Un caso en el cual es necesario identificar el minuto, e incluso el segundo, en el cual se hace el registro del tiempo es en las competencias deportivas.
En el siguiente ejemplo, utilizando la función MINUTE y la funcion SECOND se ha identificado el minuto y segundo exacto en la que un competidor termina una prueba, de forma que se pueda determinar quien gana la competencia.
En la siguiente tabla se muestran los resultados (minuto y segundo) de los competidores:
06/02/2019 a las 12:38 pm
Al darle TimeValue(NOW), estamos haciendo referencia a la hora del sistema y no a la hora capturada en la hoja.
Hice el ejercicio y asi me quedo.
Private Sub CommandButton2_Click() ' La funcion Minute sirve para obtener el minuto de un valor de hora asignado o de la hora en la que se ejecuta el comando
Dim hora As Date
Range("C14").Value = "La Hora es:"
Range("C14").Font.Bold = True
Range("D14").Value = "Los Minutos son:"
Range("D14").Font.Bold = True
Range("E14").Value = "Los Segundos son:"
Range("E14").Font.Bold = True
For i = 15 To 23
hora = Range("B" & i).Value ' Se le asigna a una variable el valor de la hora que se tiene registrada en la hoja, en este caso es la Celda (B15)
'Range("B" & i).Value = TimeValue(Now) ' TimeValue(Now) indica que se va a tomar la hora del sistema actual
Range("C" & i).Value = Hour(hora) 'Se extrae el valor de la hora y se captura en la celda (Ci)
Range("D" & i).Value = Minute(hora) 'Se extrae el valor del minuto y se captura en la celda (Di)
Range("E" & i).Value = Second(hora) 'Se extrae el valor del segundo y se captura en la celda (Ei)
Next i
'ESTE ES EL EJERCICIO PARA ENTENDER LA FUNCION
' Dim Estahora As Date
' Dim Lahora As Integer
' Estahora = #4:59:17 AM#
' Lahora = Hour(Estahora)
' MsgBox "La Hora es: " & Lahora
' Dim Estahora1 As Date
' Dim Esteminuto As Integer
' Estahora1 = TimeValue(Now)
' Esteminuto = Minute(Estahora)
' MsgBox "El minuto es: " & Esteminuto
' Dim Estahora2 As Date
' Dim Estesegundo As Integer
' Estahora2 = TimeValue(Now)
' Estesegundo = Second(Estahora)
' MsgBox "El segundo es: " & Estesegundo
End Sub
Excelente apoyo, saludos