Amigos, esta função que estou desenvolvendo esta somando a horas trabalhadas, mas quando chega apos 13:00 imprime 01:00 PM, e assim acontece em qualquer soma AM e PM aparecem.
Como solucionar isto.
Sub CalculaHorasPorDia(nomePlanilha As String, ByVal i As Integer)
Dim wr As Worksheet, wrLinha As Worksheet
Set wr = Sheets(nomePlanilha)
Set wrLinha = Sheets("Relatório Horas Trabalhada")
Dim calcHora As Date
Dim k As Integer, linhaImprimeFuncionario As Integer
k = 4
linhaImprimeFuncionario = 3
Do While wr.Cells(k, 6).Value <> ""
calcHora = calcHora + wr.Cells(k, 6).Value
k = k + 1
Loop
Do While wrLinha.Cells(linhaImprimeFuncionario, 2).Value <> ""
linhaImprimeFuncionario = linhaImprimeFuncionario + 1 'Conta as linhas já cadastradas para assim inserir na linha abaixo
Loop
wrLinha.Cells(linhaImprimeFuncionario, 2).Value = wr.Name
wrLinha.Cells(linhaImprimeFuncionario, 3).Value = calcHora
End Sub
Pelo que estou vendo, o calculo esta funcionando perfeitamente, o problema é o tipo da célula que esta como Personalizada, mas se Eu ir manualmente e colocar a célula como Hora a soma fica correta.
O que tem de ser feito para corrigir isto, ao inserir a Hora, já formatar a célula com valor formatação (Hora)
Obrigado
Observação: Desculpem a minha teimosia em relação a querer fazer do meu jeito, sei que muitos aqui no fórum podem achar, isto mas para mim que estou começando, a desenvolver para Excel, tenho que levar umas cacetadas para aprender, sei que poderia ser mais lógico, mas como o conhecimento é bem básico em VB junto com Excel, vou capengando mas trabalhando constate, para a evolução do aprendizado.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 11/09/2016 5:09 pm