Excel中的search栏

我目前正在开发一个需要search栏的Excel项目。 我刚刚开始使用Excel,所以我真的是一个小菜鸟。

我有一个文本框,我可以input文本。 和旁边的一个button,所以我可以执行search。 search应该从RANGE(“A:E”)search。 我需要它来突出显示结果。

例:

我在单元格(“C12”)有一个string“你好”,如果我input我的文本框你好,并按下button,我希望它去的单元格,并select它。

我已经尝试了一切,searchnetworking,我找不到任何可以适合的。

唯一可以工作的是VLOOKUP,但我需要更多的1列,所以这是行不通的。 这应该像ctr + F的东西,但我找不到像这样的东西。

唯一可以工作的代码是我要手动closures每个单元格并检查string的代码:

Sub Button1_Click() Dim Column, Row As Integer Dim Search As String String = TextBox.Text For Column = 1 To 5 For Row = 1 To 1048576 If Cells(Row, Column).Value = Search Then Cells(Row, Column).Select End If Next Next End Sub 

但是这个代码给出了一个溢出错误。 如果你能帮助我,我会喜欢它。

像这样的东西应该为你工作。 它使用了一个range.find循环,而不是一个暴力循环,所以它更有效率,并且会避免溢出错误

 Private Sub Button1_Click() Dim rngFound As Range Dim rngSelect As Range Dim strFind As String Dim strFirst As String If Len(Trim(Me.TextBox.Text)) = 0 Then Me.TextBox.SetFocus MsgBox "Must provide text to search for.", , "No Search Text" Exit Sub End If strFind = Me.TextBox.Text Set rngFound = Range("A:E").Find(strFind, Cells(Rows.Count, "E"), xlValues, xlPart, MatchCase:=False) If rngFound Is Nothing Then MsgBox "No matches found for [" & strFind & "]", , "No Matches" Exit Sub Else strFirst = rngFound.Address Set rngSelect = rngFound Do Set rngSelect = Union(rngSelect, rngFound) Set rngFound = Range("A:E").FindNext(rngFound) Loop While rngFound.Address <> strFirst End If rngSelect.Select End Sub 
Interesting Posts