Como calcular a diferença de tempo em vba (com exemplos)


Você pode usar a seguinte sintaxe básica em VBA para calcular a diferença entre dois horários:

 Sub FindTimeDifference()
    
    Dim i As Integer

    For i = 2 To 7
        'calculate time difference in days
        Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
        
        'calculate time difference in hours
        Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
        
        'calculate time difference in minutes
        Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
        
        'calculate time difference in seconds
        Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
    Next i
    
End Sub

Esta macro específica calculará a diferença entre os tempos correspondentes nos intervalos A2:A7 e B2:B7 e retornará os seguintes resultados:

  • C2:C7 conterá a diferença horária em dias
  • D2:D7 conterá a diferença horária em horas
  • E2:E7 conterá a diferença horária em minutos
  • F2:F7 conterá a diferença horária em segundos

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Calcular diferença de tempo em VBA

Suponha que temos as duas colunas a seguir de horários de início e término no Excel:

Podemos criar a seguinte macro para calcular a diferença de horário entre cada horário de início e término e exibir os resultados nas colunas C a F:

 Sub FindTimeDifference()
    
    Dim i As Integer

    For i = 2 To 7
        'calculate time difference in days
        Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
        
        'calculate time difference in hours
        Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
        
        'calculate time difference in minutes
        Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
        
        'calculate time difference in seconds
        Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
    Next i
    
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

VBA calcula diferença de horário

As colunas C a F exibem a diferença de tempo entre os horários de início e término em unidades diferentes.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

Como comparar datas em VBA
Como calcular dias entre duas datas em VBA
Como converter string para data em VBA

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *