sheets("hour")
Option Explicit
Sub media_oraria()
On Error Resume Next
Dim i As Long, d As Long
Dim Sh1 As String, Sh2 As String
Dim Data As Long, Ora As Double
Dim conta As Long
Dim vA As Double, vB As Double, vC As Double
vA = 0
vB = 0
vC = 0
conta = 0
Sh1 = "Dati"
Sh2 = "Hour"
Sheets(Sh2).Select
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Data = Fix(Cells(i, 1))
Ora = Cells(i, 1) - Fix(Cells(i, 1))
For d = 2 To Sheets(Sh1).Cells(Rows.Count, 1).End(xlUp).Row
If Sheets(Sh1).Cells(d, 1) = Data And Sheets(Sh1).Cells(d, 2) >= Ora _
And Sheets(Sh1).Cells(d, 2) < Ora + 1 / 24 Then
vA = vA + Sheets(Sh1).Cells(d, 3)
vB = vB + Sheets(Sh1).Cells(d, 4)
vC = vC + Sheets(Sh1).Cells(d, 5)
conta = conta + 1
End If
Next d
Cells(i, 2) = vA / conta
Cells(i, 3) = vB / conta
Cells(i, 4) = vC / conta
vA = 0
vB = 0
vC = 0
conta = 0
Next i
End Sub
Sheets("Day")
Option Explicit
Sub Media_Giorno()
On Error Resume Next
Dim i As Long, d As Long
Dim Sh1 As String, Sh3 As String
Dim conta As Long
Dim vA As Double, vB As Double, vC As Double
vA = 0
vB = 0
vC = 0
conta = 0
Sh1 = "Dati"
Sh3 = "Day"
Sheets(Sh3).Select
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For d = 2 To Sheets(Sh1).Cells(Rows.Count, 1).End(xlUp).Row
If Sheets(Sh1).Cells(d, 1) = Cells(i, 1) Then
vA = vA + Sheets(Sh1).Cells(d, 3)
vB = vB + Sheets(Sh1).Cells(d, 4)
vC = vC + Sheets(Sh1).Cells(d, 5)
conta = conta + 1
End If
Next d
Cells(i, 3) = vA / conta
Cells(i, 4) = vB / conta
Cells(i, 5) = vC / conta
vA = 0
vB = 0
vC = 0
conta = 0
Next i
End Sub
|