excel - 为什么 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
解决方案
您将不得不使用如下构造。
emptyCells.Formula = "=SUMPRODUCT(" & "'" & firstArray.Parent.Name & "'!" & firstArray.Address & "," & "'" & secondArray.Parent.Name & "'!" & secondArray.Address & ")"
推荐阅读
- html - Bootstrap 4:如何使一列垂直跨越同一行中的其他两列?
- c# - 在 WPF 视图模型上调用 OnPropertyChanged 的属性
- ruby-on-rails - 在 Bootstrap 和 Rails 上向左移动表单框
- android - 高效的数据库调用来更新回收器视图
- database - 为机器学习存储/索引/管理大量图像训练数据的最佳方式?
- android - 我想在线性布局中的图像视图上设置搜索视图
- python - 如何在 python 中查看使用图形生成的网络?
- c++ - 为什么 clang 和 gcc 的这种不同行为
- javascript - javascript 算法“埃拉托色尼筛法”
- ruby-on-rails - Rails 简单表单,输入类型日期未显示所有年份(仅 11 年)