在 VBA 范围内输入一个 UDF 公式

Input a UDF formula in a range with VBA

我有 UDF Test(rng as range),我想做这样的事情:

Dim rng2 as Range
Set rng2 = blah blah
rng2.formula = "=test(rng)"

我该怎么做?

您必须指定范围的地址,即:

rng2.formula = "=test(" & rng.address & ")"

范围地址必须作为变量传递,而不是字符串:

Dim rng2 as Range
Set rng2 = blah blah
rng2.formula = "=test(" & rng.Address & ")"

如果 rng 在另一个 sheet 上怎么办?那么你需要这个:

rng2.Formula = "=test('" & rng.Parent.Name & "'!" & rng.Address & ")"