簡體   English   中英

如何從Excel VBA中的查找功能獲取單元格地址

[英]How to get cell address from Find function in Excel VBA

如何使用查找功能獲取單元格地址。

這是代碼

Dim Found As Range

Set Found = Worksheets("Sheet 1").Cells.Find(What:="test", LookAt:=xlWhole, MatchCase:=True)

If Not Found Is Nothing Then
    ' do something
End If

當我調試代碼時,“Found”變量包含一個“字符串”而不是單元格地址。

即使它顯示為字符串,您似乎也可以使用found.address 下面的代碼對我有用。

Sub findCellAddress()

    Dim ra As Range

    Set ra = Cells.Find(What:="fff", LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)

    If ra Is Nothing Then
        MsgBox ("Not found")
        Else
        MsgBox (ra.Address)
    End If

End Sub

我在互聯網上的任何地方都找不到這個。 此代碼將為您提供行和列。

    Dim ThisPos As Range
    With Range("A1:J100")
        Set ThisPos  = .Find(What:="List_Position", LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
        If Not ThisPos  Is Nothing Then
            Cell_Add= Split(ThisPos.Address, "$")
            ThisRow = Cell_Add(1)
            ThisCol = Cell_Add(2)
        End If
    End With

此代碼將為您提供單元格地址的參考樣式。

 Dim SValue As Range
   With Range("D1:D100")

    Set SValue = .Find(What:="Searched Value", LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
    
    If Not SValue Is Nothing Then
        Cell_Split_R = Split(SValue.Address(ReferenceStyle:=xlR1C1), "R")
        Cell_Split_C = Split(Cell_Split_R(1), "C")
        SCol = Cell_Split_C(0)
        SRow = Cell_Split_C(1)
        
    End If
End With

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM