Ir ao conteúdo
  • Cadastre-se

Macro extrair hora, minuto, segundo e configurar como texto


Ir à solução Resolvido por rodrigo.gaw,

Posts recomendados

Amigos, tenho a seguinte macro

Sub Inserir_hora()

Exibir = "Digite a hora ou Selecione uma Célula:"

Título = "INSERT TEMPO/HORA"

Tipo = 10

hora = Application.InputBox(Prompt:=Exibir, Title:=Título, Type:=Tipo, Default:="Formato Hora (hh:mm:ss) ex.:24:30:54")

Hr = Hour(hora)

Mn = Minute(hora)

Sg = Second(hora)

If Sg > 0 Then

hora_tt = Hr & "s"

End If

If Mn > 0 Then

hora_tt = Mn & "m" & Sg & "s"

End If

If Hr > 0 Then

hora_tt = Hr & "h" & Mn & "m" & Sg & "s"

End If

Selection.Value = hora_tt

End Sub

Ela extrai os valores de Hora/Minuto/Segundo da inputbox selecionada, para ficar igual vemos nas contas de telefone cp, formato 01h20m08s, porém não consigo configurar para que o formato do tempo venha com dois dígitos igual ao exemplo...

Da maneira que está ta retornando valor como 1h20m8s... Preciso que fique assim 01h20m08s...

Alguém consegue me ajudar?

Link para o comentário
Compartilhar em outros sites

Problema é que surgiu uma data maior que 24h... tipo "48:51:53" e ao invés de retornar o valor "2931m53s", esta retornando valor 51m53s... 

O código, da maneira que foi escrito, quando. se insere a hora maior que 24, ele converte para 1 dia + os respectivos minutos+ segs. e aparece neste formato.

veja se dessa forma te ajuda:

Sub Inserir_hora()    Dim Exibir, Título, Tipo, hora, Hora_tt, Hr, Mn, SG    Exibir = "Digite a hora ou Selecione uma Célula:"    Título = "INSERT TEMPO/HORA"    Tipo = 10    hora = Application.InputBox(Prompt:=Exibir, Title:=Título, Type:=Tipo, Default:="Formato Hora (hh:mm:ss) ex.:24:30:54")    If Left(hora, 1) < 1 Then        Hr = Format(Hour(hora), "00") & "h"        Mn = Format(Minute(hora), "00") & "m"        SG = Format(Second(hora), "00") & "s"    Else        Hr = ""        Mn = Format(Left(hora, 1) * 24 * 60 + Minute(hora), "00") & "m"        SG = Format(Second(hora), "00") & "s"    End If   If SG > 0 Then        Hora_tt = Hr & "s"    End If    If Mn > 0 Then       Hora_tt = Mn & SG    End If    If Hr > 0 Then               Hora_tt = Hr & Mn & SG    End If    Selection.Value = Hora_ttEnd Sub
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução


Basole, consegui! Ufaaa!!!  :aplausos: 

Não consegui exatamente como você mandou, mas foi de grande ajuda, consegui fazer alguns ajustes para adaptar a minha necessidade.

segue código, vou postar a planilha teste que fiz se alguém mais precisar deste tipo de código.

Abraçççç!!!!

Sub Inserir_hora()On Error Resume Next      Exibir = "Digite a hora ou Selecione uma Célula:"   Título = "INSERT TEMPO/HORA"   Tipo = 10                hora = Application.InputBox(Prompt:=Exibir, Title:=Título, Type:=Tipo, Default:="Formato Hora (hh:mm:ss) ex.:24:30:54")                    If Left(hora, 2) <= 23 Then        Hr = Hour(hora)        Mn = Minute(hora)        SG = Second(hora)        If SG > 0 Then                Hora_tt = Format(SG, "00") & "s"                End If                If Mn > 0 Then                Hora_tt = Format(Mn, "00") & "m" & Format(SG, "00") & "s"                End If                If Hr > 0 Then                Hora_tt = Format((Hr * 60) + Mn, "00") & "m" & Format(SG, "00") & "s"                End If                End If             If Left(hora, 2) > 23 Then             Hr = Format((Left(hora, 2) * 60) + (Mid(hora, 4, 2)), "00")        SG = Format(Mid(hora, 7, 2), "00")                Hora_tt = Format(Hr, "00") & "m" & Format(SG, "00") & "s"                End If                Selection.Value = Hora_tt          End Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!