You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA新手提问:使用ActiveSheet.UsedRange.Sum为何无法正确赋值到A1

VBA代码问题解答

错误原因

  • 语法错误:VBA中Sub过程声明时,即使没有传入参数也需要补充空括号,你写的Sub UsedR_S缺少末尾的(),运行时会先触发语法错误,无法进入执行环节。
  • 逻辑错误:Sum不是Range对象的内置属性或方法,不能直接通过区域对象.Sum的格式调用。你的猜测是正确的,Sum属于工作表函数,需要传入待计算的区域作为参数使用,无法直接跟在区域对象后调用,VBA中使用工作表函数需要通过WorksheetFunction对象触发。

修正后可正常运行的代码

Sub UsedR_S()
    Range("A1").Value = WorksheetFunction.Sum(ActiveSheet.UsedRange)
End Sub

补充说明

上述代码的计算规则和Excel工作表内的Sum函数完全一致,已用区域内的文本、空单元格、逻辑值会被自动忽略,如果区域内没有任何数值,最终会在A1单元格返回0,不会触发运行报错。

内容的提问来源于stack exchange,提问作者viewotst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:24:08