VBA求和单元格范围

我正在尝试编写一个简单的VBAmacros,它将采用活动单元格的列和用户的input将一行单元格的范围添加到一起。 范围是通过将用户input的整数添加到活动列并且是结束列来计算的。 问题是它给我运行时错误“424”,并告诉我“对象需要”。 当我运行它,并在总和线上生气。

这是我的代码。 我刚开始在VBA,所以它不能那么辛苦….对吧?

Sub Food() Dim first As Variant Dim last As Integer Dim days As Integer Dim month As Variant Dim total As Double first = ActiveCell.Column days = InputBox("Days in the month?") last = first + days month = Range(Cells(first, 4), Cells(last, 4)) total = Excel.WorksheetFunction.Sum(Report.Range(month)) Worksheets(1).Cells(1, 13).Value = total End Sub 

错误是你试图总结范围的方式。 尝试像这样:

 total = WorksheetFunction.Sum(month) 

每当在VBA中发现问题时,尝试将其隔离并分别解决。 例如,在你的情况下,这样做会有所帮助,作为隔离的例子:

 Option Explicit Sub TestMe() Dim rngRange As Range Set rngRange = Range("A1:A5") 'Any of these is ok: Debug.Print WorksheetFunction.Sum(rngRange) Debug.Print WorksheetFunction.Sum(Range("A1:A5")) Debug.Print WorksheetFunction.Sum(1, 2, 3) Debug.Print WorksheetFunction.Sum(Array(1, 2, 3)) Debug.Print WorksheetFunction.Sum(Array(1, 1, 545), Array(-2)) End Sub