Notifications
Clear all

Formatar numeros em horas VBA

4 Posts
3 Usuários
0 Reactions
1,419 Visualizações
 Joas
(@joas)
Posts: 11
Active Member
Topic starter
 

Boa Tarde!
tenho uma planilha com o seguinte informaçao: "193:36:00", 193 horas e 36 minutos.
Porem quando busco os dados dessa célula que tem essa informaçao o sistema tras assim: "08/01/1900 01:36:00"
alguem sabe me dizer uma funçao que transforme esse valor "08/01/1900 01:36:00" em "193:36:00" em VBA?

desde ja agradeço a Ajuda.
abs, Joas

 
Postado : 25/11/2013 11:15 am
(@tacito)
Posts: 67
Trusted Member
 

Boa tarde!

Não entendi direito o que você quer. Os valores com uma ou outra apresentação são os mesmos, assim, para cálculos não faz muita diferença.

Se for para visualizar na planilha é só mudar a formatação da célula para personalizado no formato: [h]:mm:ss.

Se quiser fazer isso por VBA é só modificar a formatação da célula assim:

[endereço_célula].NumberFormat = "[h]:mm:ss"

 
Postado : 25/11/2013 11:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pelo que sei VBA não reconhece valores de horas maiores 23:59 hs.Mesmo com o formato horas sugerido pelo colega Tacito.
o mesmo deve ser definido como string e "montado"; seria algo como

Sub valor()
Dim tmg As String
tmg = Int([a1] * 24) & ":" & Round((([a1] * 24) - (Int([a1] * 24))) * 60, 0)
MsgBox tmg
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/11/2013 1:14 pm
 Joas
(@joas)
Posts: 11
Active Member
Topic starter
 

Pelo que sei VBA não reconhece valores de horas maiores 23:59 hs.Mesmo com o formato horas sugerido pelo colega Tacito.
o mesmo deve ser definido como string e "montado"; seria algo como

Sub valor()
Dim tmg As String
tmg = Int([a1] * 24) & ":" & Round((([a1] * 24) - (Int([a1] * 24))) * 60, 0)
MsgBox tmg
End Sub

Entendi. Valeu a dica.

 
Postado : 25/11/2013 2:08 pm