.Cells
является избыточным, вызов участника .Count
может быть выполнен непосредственно из объекта Range
, возвращенного предыдущим вызовом члена Range.End
.
Тем не менее, это зависит от того, что Total
объявлено как. Если это Integer
, то у него есть только 16 бит для хранения целого числа со знаком, что означает, что его верхний предел составляет 32 767, т.е. 2^15-1
.
Dim Total As Integer ' 16-bit
Использование целого числа Long
даст ему 32 бита, чтобы сделать то же самое, сделав верхний предел 2^31-1
, которого должно быть более чем достаточно для большинства применений.
Dim Total As Long ' 32-bit
Если вы переполните Long
, VBA7 на 64-битных системах даст вам LongLong
, 64-битный целочисленный тип со знаком, который не будет переполнен, пока не будет отключен 2^63-1
.
Dim Total As LongLong ' 64-bit