У меня есть макрос, который вычисляет среднюю скорость всех сотрудников. Но он выдает ошибку при попытке выполнить его. Странная часть в том, что он отлично работает на моем компьютере дома, но не на компьютере на работе. Это код, который вызывает ошибку:
ReDim employeespeed(1 To UBound(employeelist))
Dim oneHour As Date
oneHour = #1:00:00 AM#
For i = 1 To UBound(employeelist)
employeespeed(i) = (oneHour / totaltimeworked(i)) * employeeresult(i) 'THIS LINE CAUSES ERROR 51
Next i
totaltimeworked
- это массив, который выводит значения, такие как 12:34:56 AM
(34 минуты и 56 секунд)
empolyeeresult
выводит число , как 113
Печать прямо на листе работает, хотя и страннее. Например:
=sum(B20/B21*B22)
Где 1:00:00 AM
помещается в ячейку B20
, а выходные данные из массивов помещаются в ячейки B21
и B22
.
Но это не работает в VBA.
Кто-нибудь знает, почему это может быть?