首页 > 解决方案 > 为什么 Excel 无法识别 SUMPRODUCT 函数中的变量名称?

问题描述

我是 VBA 新手。当我尝试运行下面的代码时,我不断收到 #NAME 错误。Excel 似乎无法识别 SUMPRODUCT() 函数中的 2 个参数,因为它们是用户定义的变量,其值来自 2 个不同的工作表。知道我做错了什么吗?

Public Sub myMacro()

Dim firstArray As Range

    Worksheets("Sheet1").Activate ' Activate the worksheet named "Sheet1"

    Set firstArray = Range("A2:C40")

Dim secondArray As Range

    Worksheets("Sheet2").Activate ' Activate the worksheet named "Sheet2"

    Set secondArray = Range("A2:D40") ' Select the desired range, assign it to secondArray

Dim emptyCells As Range

    Worksheets("Sheet3").Activate ' Activate the worksheet named "Sheet3"

    Set emptyCells = Range("A1:Z1")

    emptyCells.Formula = "=SUMPRODUCT(firstArray, secondArray)"  ' ---- PROPER SYNTAX, BUT GIVES ME A #NAME ERROR

End Sub

标签: excelvbaexcel-formula

解决方案


您将不得不使用如下构造。

emptyCells.Formula = "=SUMPRODUCT(" & "'" & firstArray.Parent.Name & "'!" & firstArray.Address & "," & "'" & secondArray.Parent.Name & "'!" & secondArray.Address & ")"


推荐阅读