如何在VBA函数中返回总和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在VBA函数中返回总和相关的知识,希望对你有一定的参考价值。
我正在创建一个函数,它接受一个单元格和一系列单元格来创建一个数组。该数组的前四个数字用于执行一些计算。最后,我想将这些总和返回到单元格。在调试时,我将一个手表添加到总和A + B + C + D,结果显示完美。但是,当我在工作表中调用该函数时,它不会将值返回到单元格。为什么是这样?
Public Function getFone(temp As Long, coeffs As Range) As Double
Dim coeffArray As Variant
Dim A As Double
Dim B As Double
Dim C As Double
Dim D As Double
coeffArray = coeffs.Value
A = ((coeffArray(1, 1)) * (temp))
B = ((coeffArray(1, 2) / 2) * (temp * temp))
C = ((coeffArray(1, 3) / 3) * (temp * temp * temp))
D = ((coeffArray(1, 4) / 4) * (temp * temp * temp * temp))
getFone = (A + B + C + D)
End Function
答案
如果范围是四个水平单元格并且temp参数和范围包含数字,则代码有效。因此,可能触发#Value结果的潜在问题是:
- 参数(温度和范围中的值)不是数字
- 计算出的值超过了double的大小
- 范围不是四个单元格的水平范围
以上是关于如何在VBA函数中返回总和的主要内容,如果未能解决你的问题,请参考以下文章
Excel VBA函数:如何传递范围、转换为数组、反转和返回数组
vba中如何在一个function中 输入一个参数返回另一个参数