【问题标题】:VBA Sum Dynamic Range IssueVBA总和动态范围问题
【发布时间】:2021-01-05 20:53:12
【问题描述】:

以下代码行现在得到应用程序或用户定义的错误,尽管它之前执行良好:

sum_range = Application.Sum(ThisWorkbook.Worksheets("Shifting").Range(Cells(20, col), Cells(rw - 1, col)))

我应该改变什么才能正确地总结动态范围而不会出错?

编辑:

语法错误,col 被赋值为 0,因此出现错误。下面解决了。

【问题讨论】:

  • 执行这个时rw和col的值是多少?

标签: excel vba syntax-error


【解决方案1】:

您描述的错误的最常见原因是数字

既然您说代码以前可以工作而现在不能工作,原因可能是您现在在调用代码时有一个不同的工作表处于活动状态。修改您的代码以指定工作表。观察将每个单元格地址连接到 With 语句而不是 ActiveSheet 的前导句点。

With ThisWorkbook.Worksheets("Shifting")
    sum_range = Application.Sum(.Range(.Cells(20, col), .Cells(rw - 1, col)))
End With

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2021-10-02
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多