Excel:从工作表调用 vba 函数时将当前单元格作为参数传递

Rae*_*loz 1 excel vba excel-2010

我正在尝试创建一个 VBA 函数,该函数接受一个单元格作为参数,并使用各种 Range.Offset 从那里开始工作。该函数将在工作表单元格中调用。为了进行测试,我使用这个简单的脚本:

Public Function testPublic(targetCell As Range) As Boolean
   targetCell.Offset(0, 3).Value2 = "Test is successful!"
   testPublic = True
End Function
Run Code Online (Sandbox Code Playgroud)

为了查看是否可以使单元格引用正常工作,我传递了简单的引用,例如 C5,但我只得到#VALUE!错误。不知道这有什么问题。

尝试将 Range 更改为 Variant,仍然不起作用

Tim*_*ams 5

您不能使用工作表中作为 UDF 调用的函数来更新工作表中的另一个单元格:该函数只能向包含该函数的单元格返回一个值(数组公式可以返回多个值,但同样只能返回到该函数所在的单元格)输入公式)。

有关详细信息,请参阅:https://support.microsoft.com/en-us/topic/description-of-limitations-of-custom-functions-in-excel-f2f0ce5d-8ea5-6ce7-fddc-79d36192b7a1