Итак, у нас есть эта активность для усреднения значений на почасовой основе с использованием Excel VBA.
По сути, перед нами стоит задача усреднить значения ячеек отдельно.
В среднем с 9 до 22, с 10 до 11 и т. Д. Я искал много разных методов и до сих пор не могу понять, как это сделать.
Я знаю, что это легко сделать с помощью сводной таблицы или среднего значения, но мы поставили задачу сделать это в Excel vba.
Это мой текущий код:
Sub test()
Dim a As Collection
Dim lastrow As Integer
Set a = New Collection
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
If Sheet1.Range("A1").Value > TimeValue("09:00:00") Then
For x = 1 To lastrow
y = Cells(x, 2).Value
a.Add (y)
Next x
For Z = 1 To a.Count
f = a.Item(Z) + f
Next Z
Range("C1").Value = (f / a.Count)
ElseIf Sheet1.Range("A1").Value < TimeValue("09:00:00") Then
For x = 1 To lastrow
y = Cells(x, 2).Value
a.Add (y)
Next x
For Z = 1 To a.Count
f = a.Item(Z) + f
Next Z
Range("C2").Value = (f / a.Count)
End If
End Sub
Вот так выглядят мои данные: