[英]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.