Qualquno puņ aiutarmi. Grazie...Bruno
Non riesco a far funzionare questa funzione, in quanto conosco poco o nulla
il VBA.
Vorrei poter trasformare le ore e i minuti (es. 10.25) in secondi.
'Questa Funzione converte le ore pił i minuti in secondi nel formato
numerico
Public Function ConvInSec(Ore)
Dim Secondi As Integer
Dim Sec As Integer
Secondi = Sec
Sec = Hour((Ore) * 60) + Minute((Ore) * 60)
End Function
________
In realtą, l'ideale sarebbe poter effettuare la trasformazione in secondi e
in ore, direttamente dal seguente modulo che ritoccandolo sono riuscito a
far restituire le ore anche in negativo, manca solo il passaggio per
trasformare le ore (es. 10.20) in secondi per poi continuare con gli altri
calcoli.
'Questa Funzione converte i secondi nel formato hh.mm.ss
Public Function ConvertiBis(numSecondi As Long) As String
Dim Ore, Minuti, Secondi As Byte
Dim strOre, strMinuti, strSecondi As String
Dim Orario As String
Ore = 0
Minuti = 0
Secondi = 0
strOre = "00"
strMinuti = "00"
strSecondi = "00"
'If numSecondi > 86400 Then
'Converti = "pił di un giorno"
'Exit Function
'End If
If numSecondi > 3599 Then
Ore = numSecondi \ 3600
strOre = Format(Ore, "00")
numSecondi = numSecondi - (3600 * Ore)
ElseIf numSecondi < 3599 Then
Ore = numSecondi \ 3600
strOre = Format(Ore, "00")
numSecondi = numSecondi - (3600 * Ore)
End If
If numSecondi > 59 Then
Minuti = numSecondi \ 60
strMinuti = Format(Minuti, "00")
numSecondi = numSecondi - (60 * Minuti)
ElseIf numSecondi < 59 Then
Minuti = numSecondi \ 60
strMinuti = Abs(Format(Minuti, "00"))
numSecondi = numSecondi - (60 * Minuti)
End If
If numSecondi > 0 Then
Secondi = numSecondi
strSecondi = Format(Secondi, "00")
ElseIf numSecondi < 0 Then
Secondi = numSecondi
strSecondi = Abs(Format(Secondi, "00"))
End If
ConvertiBis = strOre & "." & strMinuti '& "." & strSecondi
End Function
---------
Ancora grazie da Bruno.
[..CUT]
Questa dovrebbe funzionare. Al posto della prima funzione che NON puň andare
perchč:
1) Non č valorizzata mai
2) Il calcolo č errato
Public Function ConvInSec(Ore) As Long
ConvInSec = (Hour(Ore) * 60 * 60) + (Minute(Ore) * 60)
End Function
La seconda funzione (ConvertiBis) mi sembra funzionare correttamente.
--
web: www.piubelli.net
Vuoi il mio indirizzo? Togli _cut_ per rispondermi
> Mille grazie e tanti auguri.
> Funziona.
> Ciao .. Bruno
Di nulla, l'avevo già fatta simile.
Tanti auguri anche a te.
Ciao,
Massimo