是否可以强制Cells.find从其搜索中排除工作表?

时间:2019-07-17 14:56:52

标签: excel vba

我试图创建一个返回给定值地址的函数。我到目前为止已经做了一个返回地址的搜索功能,但是我不知道如何排除使用该功能的工作表。到目前为止,我的代码在下面给出。

理想情况下,我想在第二或第三张纸上查找一个值(无论它写在哪里),并返回其地址,然后我可以使用它们来使用间接查找所搜索单词旁边给出的值。

我尝试使用一些内置函数,例如INDEX(MATCH(,但是,由于我不知道match列,所以不提供任何结果。

Public Function SuperSearch(SVal As String)
    Dim FVal As Range
        Set FVal = Cells.Find(What:=SVal, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious)
            If FVal Is Nothing Then
            MsgBox ("Not Found")
            Else
            SuperSearch = ra.Address
            End If
End Function

运行上面的函数时,仅会得到在搜索中使用的值:

       A                   B

1
2 FindMeImHelpFull =超级搜索(A2) 3

返回

       A                   B

1
2 FindMeImHelp全额$ 2 $ 3

我希望它在H15的sheet2中返回字符串FindMeImHelpFull而不是给我:

       A                   B

1
2个FindMeImHelpFull Sheet2!H $ 15 $ 3

1 个答案:

答案 0 :(得分:0)

仅在特定工作表上执行搜索:

Public Function SuperSearch(sheetname As String, SVal As String) As String
    Dim FVal As Range
    Set FVal = Sheets(sheetname).Cells.Find(What:=SVal, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious)
    If FVal Is Nothing Then
        MsgBox ("Not Found")
    Else
        SuperSearch = FVal.Address
    End If
End Function

例如:

enter image description here

有趣的资源:

Arron Blood