我在工作表中的一系列单元格中有一个公式,可以计算出数值.如何从传递到函数的范围中获取VBA中的数值?
假设工作表中A列的前10行包含rand(),我将其作为参数传递给我的函数...
public Function X(data as Range) as double
for c in data.Cells
c.Value 'This is always Empty
c.Value2 'This is always Empty
c.Formula 'This contains RAND()
next
end Function
Run Code Online (Sandbox Code Playgroud)
我从一个单元格中调用该函数...
=X(a1:a10)
Run Code Online (Sandbox Code Playgroud)
如何获得单元格值,例如0.62933645?
Excel 2003,VB6
从VBA(Excel 2003)运行时,以下代码适用于我:
Public Function X(data As Range) As Double
For Each c In data.Cells
a = c.Value 'This works
b = c.Value2 'This works too (same value)
f = c.Formula 'This contains =RAND()
Next
End Function
Run Code Online (Sandbox Code Playgroud)
a和b是相同的,并且与我传入的相同(这是一系列带有Rand()的单元格).我不确定这里还有什么.
啊哈!你需要设置X,不是吗?我不确定你期望这个函数到底是什么,但是你需要将X(函数的名称)设置为你想要返回的值.添加此行:
X = a
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78816 次 |
最近记录: |