如何在VBA函数中返回总和

问题描述 投票:1回答:1

我正在创建一个函数,它接受一个单元格和一系列单元格来创建一个数组。该数组的前四个数字用于执行一些计算。最后,我想将这些总和返回到单元格。在调试时,我将一个手表添加到总和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
excel vba excel-vba
1个回答
0
投票

如果范围是四个水平单元格并且temp参数和范围包含数字,则代码有效。因此,可能触发#Value结果的潜在问题是:

  • 参数(温度和范围中的值)不是数字
  • 计算出的值超过了double的大小
  • 范围不是四个单元格的水平范围

working example

© www.soinside.com 2019 - 2024. All rights reserved.