簡體   English   中英

使用VBA在Excel中搜索

[英]Search in Excel using VBA

我需要按特定列中的特定值搜索工作表。 我必須對找到的行的其他列中的值做一些事情。 獲取在該特定列中具有搜索值的所有行號的最簡單,最有效的方法是什么?

謝謝。

您可以嘗試這樣的事情:

Public Function Test(str As String, rng As Range) As Variant 
  Dim xVal As Variant, Arr() As Variant
  Dim i As Long
  ReDim Arr(0 To 100)
  For Each xVal In rng
    If xVal.Value = str Then
      Arr(i) = xVal.Row
      i = i + 1
    End If
  Next
  If i Then
    ReDim Preserve Arr(0 To i - 1)
    Test = Arr
  Else
    Test = 0
  End If
End Function

(通過電話完成。可能包含錯誤。)

如果要在工作表的某個區域中尋找幸福,請選擇該區域並運行:

Sub FindingHappiness()
    Dim s As String, rng As Range, r As Range
    Dim msg As String
    Set rng = Intersect(Selection, ActiveSheet.UsedRange)

    s = "happiness"

    For Each r In rng
        If InStr(1, r.Text, s) > 0 Then
            msg = msg & vbCrLf & r.Row
        End If
    Next r

    MsgBox msg
End Sub

請注意,使用此技術將使您可以在單行,單列,單元格塊,工作表中的所有單元格,甚至不相交的一組單元格中進行搜索。

暫無
暫無

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

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