我想创建一个搜索框和按钮,它返回包含在框中输入内容的所有行,所有单元格都是字符串值,我想要搜索350行和6列。
最左边的列填充了文章名称,这些文章名称将成为文章的超链接,接下来的五列是文章中的主要关键字,但我希望搜索查看所有行和列,然后隐藏或过滤不匹配行。
这种方法似乎也无法正常工作,我是否错误地使用了InStr?
Sub Button1_Click()
BeginRow = 6
EndRow = 350
BeginCol = 1
EndCol = 8
For ColCnt = BeginCol To EndCol
For RowCnt = BeginRow To EndRow
If InStr(Cells(RowCnt, ColCnt).Value, Cells(2, 1).Value) = 0 Then
Cells(RowCnt, ColCnt).EntireRow.Hidden = True
Else
Cells(RowCnt, ColCnt).EntireRow.Hidden = False
End If
Next RowCnt
Next ColCnt
End Sub
答案 0 :(得分:0)
您可以使用内置搜索和过滤功能的Excel。假设excel 2007/2010单击最左侧的列标题,然后在主页选项卡下的功能区中选择sort& filter =>过滤。然后,您会看到一个带有箭头的按钮,该按钮会显示在列标题中。如果单击按钮并转到文本过滤器,则可以从列表中选择一个。例如“以...开头”。如果要隐藏行,请使用“不包含”之类的内容。
如果您想要更详细或自定义的解决方案,Jean-François评论可能是正确的。尝试一下,如果你遇到困难,你可以发一个问题。
为了让你开始,你可以尝试这样的事情 http://excel.tips.net/T001940_Hiding_Rows_Based_on_a_Cell_Value.html 根据单元格值隐藏行。