Subtrair Horas VBA  [Resolvido]

Fórum para assuntos relacionados as funções de tempo do Excel, como AGORA, DATADIF, DATAM, DIATRABALHOTOTAL, etc...

Subtrair Horas VBA

Mensagempor Sacramento » Sex Out 27, 2017 9:33 pm

Tenho em um Label1.Caption = 33:00 e Label2.Caption = 11:00. Tentei subtrair Label3.Caption = Label1.Caption - Label2.Caption, mas da erro.
Alguém tem uma sugestão para procedimento correto?
Sacramento
Membro
Membro
 
Mensagens: 5
Registrado em: Qui Ago 03, 2017 12:04 am
Has thanked: 1 time
Have thanks: 0 time

{ SO_SELECT }

Re: Subtrair Horas VBA

Mensagempor wzxnet7 » Sex Out 27, 2017 10:05 pm

Boa noite.
Veja se consegue adaptar à sua necessidade:

Código: Selecionar todos
Dim slabel1 As String, slabel2 As String
Dim vdate1 As Date, vdate2 As Date
Dim vfinaldate As Date
vdate1 = CDate(Me.Label1.Caption)
vdate2 = CDate(Me.Label2.Caption)

        If vdate2 > vdate1 Then
       
                vfinaldate = vdate2 - vdate1
               
                Me.Label3.Caption = vfinaldate
               
        Else
                vfinaldate = (1 + vdate2) - vdate1
               
                Me.Label3.Caption = vfinaldate
       
        End If
Resposta útil? Clique na mãozinha ao lado do botão Citar.
Avatar do usuário
wzxnet7
Membro
Membro
 
Mensagens: 647
Registrado em: Qui Jul 21, 2016 10:26 am
Has thanked: 35 times
Have thanks: 333 times

Re: Subtrair Horas VBA

Mensagempor Sacramento » Sex Out 27, 2017 10:32 pm

Deu erro em tempo de execução 13: Tipos incompatíveis
Sacramento
Membro
Membro
 
Mensagens: 5
Registrado em: Qui Ago 03, 2017 12:04 am
Has thanked: 1 time
Have thanks: 0 time

Re: Subtrair Horas VBA

Mensagempor wzxnet7 » Sex Out 27, 2017 10:57 pm

Boa noite.
Creio que o seguinte irá ajudar...

http://www.tomasvasquez.com.br/forum/viewtopic.php?t=3963
Resposta útil? Clique na mãozinha ao lado do botão Citar.
Avatar do usuário
wzxnet7
Membro
Membro
 
Mensagens: 647
Registrado em: Qui Jul 21, 2016 10:26 am
Has thanked: 35 times
Have thanks: 333 times

Re: Subtrair Horas VBA

Mensagempor Sacramento » Sáb Out 28, 2017 12:12 am

Obrigado pela atenção.
Vejo que na planilha as 33:00 fica como 01/01/1900 09:00:00, acho que o segredo esteja ai, nessa conversão
segue o arquivo
Você não está autorizado a ver ou baixar esse anexo.
Sacramento
Membro
Membro
 
Mensagens: 5
Registrado em: Qui Ago 03, 2017 12:04 am
Has thanked: 1 time
Have thanks: 0 time

Re: Subtrair Horas VBA  [Resolvido]

Mensagempor Reinaldo » Sáb Out 28, 2017 7:37 pm

Experimente:
Código: Selecionar todos
Private Sub CommandButton1_Click()
Dim Hora As Double, Minuto As Double
Tempo = (Val(Label1.Caption) / 24) - (Val(Label2.Caption) / 24)
Hora = Int(Tempo * 24) ' calculada qtas horas
Minuto = Int((Tempo * 24 - Int(Tempo * 24)) * 60) 'calculado qtde minutos
'segundo = ((Tempo * 24 - Int(Tempo * 24)) * 60 - Int((Tempo * 24 - Int(Tempo * 24)) * 60)) * 60
Label3.Caption = Format(Hora, "00") & ":" & Format(Minuto, "00")
Reinaldo
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)

For this post the author Reinaldo thanked:
joseA (Seg Out 30, 2017 12:10 am)
Avatar do usuário
Reinaldo
Expert
Expert
 
Mensagens: 4171
Registrado em: Sáb Dez 19, 2009 9:59 am
Localização: Garça - SP / SCS - SP
Has thanked: 182 times
Have thanks: 1906 times

Re: Subtrair Horas VBA

Mensagempor Sacramento » Dom Out 29, 2017 11:43 pm

Perfeito Reinaldo, obrigado. Sabia que a saída estava naquela orientação sua, mas não tive tempo de trabalhar.

Muito obrigado, tenho certeza que vai ajudar muita gente no trato de hora no excel vba

Apenas um esclarecimento. Porque a utilização dessa "variável" Val??
Sacramento
Membro
Membro
 
Mensagens: 5
Registrado em: Qui Ago 03, 2017 12:04 am
Has thanked: 1 time
Have thanks: 0 time

Re: Subtrair Horas VBA

Mensagempor Reinaldo » Seg Out 30, 2017 1:11 pm

Val não e uma variavel, mas sim uma função de conversão de valores.
Normalmente o valor em um text ou label e "passado" como string/Texto, assim o uso de uma função de conversão para efetuar as contas.
Reinaldo
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)

For this post the author Reinaldo thanked:
Sacramento (Seg Out 30, 2017 6:27 pm)
Avatar do usuário
Reinaldo
Expert
Expert
 
Mensagens: 4171
Registrado em: Sáb Dez 19, 2009 9:59 am
Localização: Garça - SP / SCS - SP
Has thanked: 182 times
Have thanks: 1906 times

Re: Subtrair Horas VBA

Mensagempor joseA » Sáb Nov 04, 2017 2:03 pm

Verificando essa maneira que o Reinaldo criou para trabalhar com horas, acho que é inédita. Dá até ânimo de mexer com horas no vba agora vu :lol: :lol: :lol:
joseA
Expert
Expert
 
Mensagens: 503
Registrado em: Sáb Jun 25, 2011 6:45 pm
Localização: Coronel Fabriciano - MG
Has thanked: 22 times
Have thanks: 92 times


Voltar para Datas & Horas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante