从电子表格调用 Excel VBA 查找失败

从电子表格调用 Excel VBA 查找失败
function fred
Dim ws As Worksheet
Dim v
    Set ws = Worksheets("outfile")
    set v = ws.Cells.Find(18709)
    If v Is Nothing Then Debug.Print "nothing"
    if not v is nothing then debug.print v.address

exit function

粘贴到调试窗口时,相同的代码可以工作(找到任何值)。但是,当从电子表格中将其作为表达式调用时,它会失败,找不到任何值。

有什么建议么?

答案1

几件事

  • 函数需要放在模块否则它们将无法工作
  • 使用 [A1] 从 Excel 调用用户函数:=fred()
  • 如果您稍微更改代码,则可以将一个值返回到 Excel:fred = v.Address
  • 改成exit functionend function

在此处输入图片描述


Function fred()
Dim ws As Worksheet
Dim v
    Set ws = Worksheets("outfile")
    Set v = ws.Cells.Find(18709)
    If v Is Nothing Then fred = "nothing"
    If Not v Is Nothing Then fred = v.Address
End Function

相关内容