DIVISAO HORAS COM PORCENTAGEM
bom dia amigos como posso fazer para fazer para calcular a porcentagem de horas conforme abaixo:
h1:10:00
h2:20:00
h3:10:00
h4:10:00
horas total: 50:00
porcentagem h2: 40,00%
Obrigado
Luiz
h1:10:00
h2:20:00
h3:10:00
h4:10:00
horas total: 50:00
porcentagem h2: 40,00%
Obrigado
Luiz
uma pergunta corre o risco de haver horas fracionadas
ex:
Horas total = 50:37
ex:
Horas total = 50:37
1) Converte tudo para minutos.
Exemplo: 04:23 = (4 * 60) + 23 = 263
2) Para calcular o percentual, faça um calculo de regra de três, usando as horas convertidas em minutos.
Exemplo: 04:23 = (4 * 60) + 23 = 263
2) Para calcular o percentual, faça um calculo de regra de três, usando as horas convertidas em minutos.
Boa tarde, obrigado pelo retorno, Marecelo-Treze, sim pode ocorrer.
Federhen, obrigado vou experimentar fazer como vc mencionou.
Att
Luiz
Federhen, obrigado vou experimentar fazer como vc mencionou.
Att
Luiz
O Federhen já disse a maneira correta, mas expliocando em código seria assim
veja se te ajuda
Function PorcentagemHoras(HorasTotal As String, Porcentagem As Integer) As String
Dim Vetor() As String
Dim Minutos As Integer
Dim H As Integer, M As Integer
Dim Resultado As Integer
Vetor = Split(HorasTotal, [Ô]:[Ô])
Minutos = (Vetor(0) * 60) + Vetor(1)
Resultado = (Minutos / 100) * Porcentagem
M = Resultado Mod 60
H = (Resultado - M) / 60
PorcentagemHoras = H & [Ô]:[Ô] & Format(M, [Ô]00[Ô])
End Function
Private Sub Command1_Click()
[txt-color=#007100][ô] Forma de uso PorcentagemHoras ( totaldehoras, Porcentagem)[/txt-color]
MsgBox PorcentagemHoras([Ô]50:00[Ô], 40)
End Sub
veja se te ajuda
Boa tarde Marcelo-Treze muito obrigado pelo código, só estou tendo um pouco de dificuldade em adaptar ao meu relatorio, tenho 5 textbox que sao preenchidas com horas (txthora1,txthora2...txthora5), e outra textbox (txttotal)que soma essas horas, gostaria que o resultado da porcentagem aparecesse em outras textbox(txtporcentagemhora1, txtporcentagemhora2....txtporcentagemhora3).
Desde ja agradeço sua vontade em ajudar.
Abraços
Luiz
Desde ja agradeço sua vontade em ajudar.
Abraços
Luiz
seria algo assim
txtporcentagemhora1.Text = PorcentagemHoras(txtHora1.Text, 40)
txtporcentagemhora2.Text = PorcentagemHoras(txtHora2.Text, 20)
txtporcentagemhora3.Text = PorcentagemHoras(txtHora3.Text, 20)
Boa tarde Marcelo-Treze, estou anexando uma tela para melhor visualização, seu código funcionou bem, mas eu gostaria que a porcentagem fosse em função do total de horas , conforme aparece na tela em anexo.
Att
Luiz
Att
Luiz
vamos lá vc deseja informar duas horas e saber qual é a diferença em porcentagem, seria isto?
seria algo assim?
Function PorcentagemHoras(Horas As String, Porcentagem As String) As Double
Dim VetorA() As String, VetorB() As String
Dim MinutosA As Double, MinutosB As Double
VetorA = Split(Horas, [Ô]:[Ô])
VetorB = Split(Porcentagem, [Ô]:[Ô])
MinutosA = (VetorA(0) * 60) + VetorA(1)
MinutosB = (VetorB(0) * 60) + VetorB(1)
PorcentagemHoras = Format(MinutosB / (MinutosA / 100), [Ô]0.00[Ô])
End Function
Private Sub Command1_Click()
MsgBox PorcentagemHoras([Ô]50:00[Ô], [Ô]20:00[Ô]) & [Ô]%[Ô]
End Sub
Boa noite Marcelo-Treze, seria assim, tenho 5 textboxhora, onde sao digitadas as horas e uma textboxtotal, que é a soma das horas, gostaria de saber qual é a porcentagem de cada textboxhora em relação ao total de horas do textboxtotal,
Desculpe se não consegui explicar bem a minha necessidade.
Obrigado
Luiz
Desculpe se não consegui explicar bem a minha necessidade.
Obrigado
Luiz
Tópico encerrado , respostas não são mais permitidas