Excel 如何检索调用特定函数的单元格地址

Excel 如何检索调用特定函数的单元格地址,excel,vba,Excel,Vba,我需要找出调用特定函数的单元格地址 如果我的函数是MyFunction(arg1,arg2), 我应该能够找到使用名称“MyFunction”的单元格addreses 请帮我找出最有效的方法 谢谢您可以在一系列单元格中循环,查找特定功能: Dim name as String Dim searchRange as Range Dim row as Integer Dim col as Integer name = "MyFunction" ''// for example Set search

我需要找出调用特定函数的单元格地址

如果我的函数是MyFunction(arg1,arg2), 我应该能够找到使用名称“MyFunction”的单元格addreses

请帮我找出最有效的方法


谢谢

您可以在一系列单元格中循环,查找特定功能:

Dim name as String
Dim searchRange as Range
Dim row as Integer
Dim col as Integer

name = "MyFunction" ''// for example
Set searchRange = Range("A1:P:50") ''// for example

For row = 1 to searchRange.Rows.Count
  For col = 1 to searchRange.Columns.Count
    If Left(searchRange.Cells(row, col).Formula, Len(name)) = name Then
      ''// do something with this cell
    End If
  Next col
Next row

您可以在一系列单元格中循环,查找特定的函数:

Dim name as String
Dim searchRange as Range
Dim row as Integer
Dim col as Integer

name = "MyFunction" ''// for example
Set searchRange = Range("A1:P:50") ''// for example

For row = 1 to searchRange.Rows.Count
  For col = 1 to searchRange.Columns.Count
    If Left(searchRange.Cells(row, col).Formula, Len(name)) = name Then
      ''// do something with this cell
    End If
  Next col
Next row
我问了,但措辞不同,所以我在搜索时没有找到这个

有趣的是,我得到的答案,我认为,比循环答案更好,原因有二:

  • 更快-无循环。只需使用Application.Caller
  • 如果函数是从多个单元格调用的,则该函数有效
  • 我问了,但措辞不同,所以我在搜索时没有找到这个

    有趣的是,我得到的答案,我认为,比循环答案更好,原因有二:

  • 更快-无循环。只需使用Application.Caller
  • 如果函数是从多个单元格调用的,则该函数有效

  • +1感谢您的回答,感谢您愚弄Markdown正确处理VBA注释:-)感谢您的回答,因此我找到了Excel Find(),它比循环更有效。裁判:@nimo:这是个好发现。为什么不把它贴出来作为答案,然后把它标记为已接受?回答你自己的问题没什么错。
    :)
    @Adam Bernier:谢谢。那些单引号VBA注释很棘手<代码>:)如果从多个单元格调用函数,会发生什么情况?我认为这个问题提供了一个更好的答案(使用Application.Caller):+1的好答案和欺骗Markdown正确处理VBA注释:-)谢谢你的回答,因此我找到了Excel Find(),它比循环更有效。裁判:@nimo:这是个好发现。为什么不把它贴出来作为答案,然后把它标记为已接受?回答你自己的问题没什么错。
    :)
    @Adam Bernier:谢谢。那些单引号VBA注释很棘手<代码>:)如果从多个单元格调用函数,会发生什么情况?我认为这个问题提供了一个更好的答案(使用Application.Caller):正如在我自己答案的评论中所指出的,我认为OP在寻找不同的东西。无论哪种方式,+1表示链接,因为我还没有听说过
    Application.Caller
    ,我相信有一天它会派上用场。正如我自己回答的评论中所指出的,我认为OP是在寻找不同的东西。无论哪种方式,+1表示链接,因为我还没有听说过
    Application.Caller
    ,我相信有一天它会派上用场的。