尽管下面的代码之前执行得很好,但以下代码现在却获得了应用程序或用户定义的错误:
sum_range = Application.Sum(ThisWorkbook.Worksheets("Shifting").Range(Cells(20, col), Cells(rw - 1, col)))
我应该更改什么以正确地将动态范围求和而没有错误?编辑:
语法错误,col被分配为0,因此是错误。解决如下。
最佳答案
您描述的错误的最常见原因是将数字<1指定为行或列。因此,@ Foxfire的问题。但是,在您的一些代码中,缺少单元格的限制非常突出。它们不会自动与范围在同一张纸上。实际上,Excel使用相反的逻辑。
因为您说过该代码以前曾经可以使用,而现在不起作用,原因可能是您调用该代码时现在有一个处于 Activity 状态的工作表。修改您的代码以指定工作表。观察将每个单元格地址连接到With
语句而不是ActiveSheet的前导时期。
With ThisWorkbook.Worksheets("Shifting")
sum_range = Application.Sum(.Range(.Cells(20, col), .Cells(rw - 1, col)))
End With
关于excel - VBA总和动态范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63963840/