首页 > 解决方案 > VBA 中使用 NAMED RANGES 的 SUM 函数只显示错误

问题描述

我定义了两个命名范围;一个 (myplace) 用于将结果写入的位置,一个 (myrange) 用于需要求和的范围。编译器返回错误

尝试了求和的公式方法,但这会返回“#NAAM”错误

这是我使用的简单代码:

Sub optelsom()

myplace = Range("plaats") 
myrange = Range("deelsom")

Range(myplace).Value = Application.WorksheetFunction.Sum(myrange)

End Sub

标签: excelvba

解决方案


(1) 养成声明变量的习惯(根据 PEH 的建议,使用 Option Explicit:在 VBA 编辑器中转到 Tools › Options › Require Variable Declaration)

(2) 赋值范围等对象变量时需要Set

(3)myplace已经是一个范围,因此不需要“包装器”

Sub optelsom()

Dim myplace as range, myrange as range

Set myplace = Range("plaats") 
Set myrange = Range("deelsom")

myplace.Value = Application.WorksheetFunction.Sum(myrange)

End Sub

推荐阅读