modifica formula matriciale macro



  • modifica formula matriciale - macro
    di nick (utente non iscritto) data: 28/12/2015 16:28:08

    salve,

    qualche tempo fa mi avete suggerito questa soluzione per far si che conti il numero di ore che per ogni 24 ore conta le ore normalmente fino a 15 e dopo la quindicesima e fino alla ventiquattresima, continua a contare sempre e solo 15. adesso avrei bisogno di aggiungere che deve contare le frazioni come ore, nel senso che se sono 8 ore e mezza, mi scrive 9 ecc... Riporto sotto la macro e la formula matriciale che sto utilizzando attualmente:

    =CalcoloOre(CERCA.VERT(F1;Lista;7;FALSO);CERCA.VERT(F1;Lista;8;FALSO);CERCA.VERT(F1;Lista;10;FALSO);CERCA.VERT(F1;Lista;11;FALSO))
     
    Public Function CalcoloOre(ByVal DataI As Long, ByVal OraIN As Long, _
                               ByVal DataF As Long, ByVal OraFN As Long) As Long
    Dim Ore15 As Long, OreT As Long
    Dim OraI As Variant, OraF As Variant
    OraI = TimeValue(Fix(OraIN / 100) & "." & OraIN Mod 100 & ".00")
    OraF = TimeValue(Fix(OraFN / 100) & "." & OraFN Mod 100 & ".00")
    '''''
    If OraI > OraF Then
     Ore15 = (DataF - DataI - 1) * 15
     OreT = 24 - (OraI * 24) + (OraF * 24)
     If OreT > 15 Then OreT = 15
     CalculoHoras = Ore15 + OreT
    Else
     Ore15 = (DataF - DataI) * 15
     OreT = (OraF * 24) - (OraI * 24)
    If OreT > 15 Then OreT = 15
    CalculoHoras = Ore15 + OreT
    End If
    End Function



  • di nick (utente non iscritto) data: 28/12/2015 16:40:21

    chiedo scusa, ho ritrovato il mio vecchio post e ho riscritto li per maggior comoditá. grazie.