【发布时间】:2009-05-23 12:21:16
【问题描述】:
我在工作表的一系列单元格中有一个公式,它计算为数值。如何从传递给函数的范围中获取 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
我从一个单元格调用函数...
=X(a1:a10)
如何获取单元格值,例如0.62933645?
Excel 2003,VB6
【问题讨论】:
-
我做了一些快速的 VBA 代码,我得到了单元格 Rand(); 的值没问题。也许发布更多代码以查看发生了什么?
-
Richard,没有更多代码了,就是这样......我要做的就是获取单元格值,它们都是“空的”
-
请说明您在什么条件下使用该功能。特别是,同一工作表上的单元格是否在您使用它时处于其他活动状态,例如对话框或某些 Excel 功能(某些 Range 方法在某些情况下在 Excel 中不起作用)。
-
For 循环的开头行不正确 - 应该是: For Each c in data.Cells 假设这是一个错字,因为程序不会在缺少 Each 的情况下编译
-
不应该是“每个人”吗?
标签: vba excel-2003