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