Excel VBA - 变量等于总和值不起作用

时间:2017-04-30 13:52:55

标签: excel vba

Stackoverflow新手 - 尝试将一系列单元格的总和存储到变量中。我使用的公式如下:

Sub obtainhours()

Dim Total As Integer

Worksheets("22012017").Activate
Total = WorksheetFunction.Sum(Range("D2,D50"))


End Sub

非常感谢任何帮助!

谢谢

1 个答案:

答案 0 :(得分:0)

首先,您应将Total声明为Long,因为它可以存储大于Integer>32767)的数值。

另外Why use Long instead of Integer

您应该避免使用Activate,因为它会降低代码的运行时间,而是使用完全限定的对象,通过实现With语句。

Sub obtainhours()

Dim Total As Long

With Worksheets("22012017")
    ' Option 1: get the Sum of cells "D2" and "D50" only
    Total = WorksheetFunction.Sum(.Range("D2,D50"))

    ' Option 2: get the Sum of cells "D2 through cell "D50"
    Total = WorksheetFunction.Sum(.Range("D2:D50"))
End With

End Sub