TEMPO DECORRIDO EM TEXTBOX
Olá pessoal,
Sou novato por aqui mas, pelo que pude ver, se trata de um forum muito bom.
A minha dúvida é a seguinte: Estou desenvolvendo uma planilha para controle de horas extras. A idéia é que ao selecionar determinado funcionáro em um combobox seja apresentado no form, em um textbox, o saldo de horas desse funcionário. O problema está ai pois não consigo fazer com que seja apresentado no textbox valores superiores a 23:59:59 hs.
Conto com o conhecimento dos colegas
Grato
Msilva
Sou novato por aqui mas, pelo que pude ver, se trata de um forum muito bom.
A minha dúvida é a seguinte: Estou desenvolvendo uma planilha para controle de horas extras. A idéia é que ao selecionar determinado funcionáro em um combobox seja apresentado no form, em um textbox, o saldo de horas desse funcionário. O problema está ai pois não consigo fazer com que seja apresentado no textbox valores superiores a 23:59:59 hs.
Conto com o conhecimento dos colegas
Grato
Msilva
BEm, vc deveria conseguir colocar valores maiores que esse, ois o que o Text box armazena é uma String ...
Vc esta usando alguma textbox " especÃfica" para horas ou algo parecido ?
Vc já experimentou usar um label no lugar da text box ?
Abs
Vc esta usando alguma textbox " especÃfica" para horas ou algo parecido ?
Vc já experimentou usar um label no lugar da text box ?
Abs
Na realidade o valor a ser apresentado no textbox é o valor de uma determinada célula da planilha (resultado da operação das horas extras).
Abs.
Abs.
Vc está convertendo para string antes de passar para o text box ?
Ex;:
text1.text = cstr(<valor da celula> )
Ex;:
text1.text = cstr(<valor da celula> )
Nesse caso, quando o valor da célula é 67:00:00 (sessenta e sete horas extras) ao converter surge o número 2,7916666667.
Abs.
Abs.
Private Sub Form_Load()
Dim dado As Date
dado = CDate("23:10") + CDate("2:30")
MsgBox Format(dado, "hh:mm:ss")
End Sub
Dim dado As Date
dado = CDate("23:10") + CDate("2:30")
MsgBox Format(dado, "hh:mm:ss")
End Sub
Se vc observar, com a tua solução, o resultado no msgbox será 01:40:00. Na realidade o que eu preciso é que, no textbox (e não no msgbox), me apresente um somatório de horas que seja superior a 23:59:59. Ou seja, somatório de horas superiores a um dia.
MSilva,
é eu percebi, você poderia converter as horas para minutos e depois fazer a soma. Após isso você converte o resultado para horas novamente.
é eu percebi, você poderia converter as horas para minutos e depois fazer a soma. Após isso você converte o resultado para horas novamente.
O questão não é conseguir o somatório correto das horas (isso é possÃvel na planilhas). O problema é apresentar esse resultado em um textbox. Ou seja, como formatar o textbox para que capture o resultado da célula com valores superiores a 23:59:59 hs.
Tem alguma coisa estranha, esse seu texbox é "tabajara" ou você está usando um outro controle.
O meu textbox aceita até o que não deve, não vai aceitar isso. Faça o seguinte cole o trecho do código para que eu tente resolver.
O meu textbox aceita até o que não deve, não vai aceitar isso. Faça o seguinte cole o trecho do código para que eu tente resolver.
a situação é semelhante a que segue:
Em uma planilha, na célula "a1" tenho um valor igual a 67:00:00 (sessenta e sete horas)
Então e ativo um userform que possui um textbox que deverá apresentar o valor da célula "a1" como segue:
Private Sub UserForm_Initialize()
Dim PlanTrab As Object, LocVal As Object
Dim resu As Date
Set PlanTrab = Sheets("plan1") 'é a planilha com os dados
Set LocVal = PlanTrab.Range("a1") ' é a célula com o valor
PlanTrab.Select
resu = LocVal.Value
TextBox1.Value = resu
End Sub
Quando chamo o form o que surge é o seguiente: o valor do textbox apresentado é 1/1/1900 19:00:00:00
Abs.
Em uma planilha, na célula "a1" tenho um valor igual a 67:00:00 (sessenta e sete horas)
Então e ativo um userform que possui um textbox que deverá apresentar o valor da célula "a1" como segue:
Private Sub UserForm_Initialize()
Dim PlanTrab As Object, LocVal As Object
Dim resu As Date
Set PlanTrab = Sheets("plan1") 'é a planilha com os dados
Set LocVal = PlanTrab.Range("a1") ' é a célula com o valor
PlanTrab.Select
resu = LocVal.Value
TextBox1.Value = resu
End Sub
Quando chamo o form o que surge é o seguiente: o valor do textbox apresentado é 1/1/1900 19:00:00:00
Abs.
Tópico encerrado , respostas não são mais permitidas