繁体   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