|
话说这个功能EXCEL自带的筛选就能搞定呀,只需要在某一列输入关键词就会列出了。的确是如此,但是,如果我要求列出所有列包含的关键词的行呢?傻眼了吧? 以下图为例,举个例子,我想要查询并列出包含关键词“棉”的所有行怎么办? 上步骤。 - 说明一下,数据在工作表“数据”里面。我们可以新建一个工作表“查询”。
- 插入一个按钮。
- 新建宏,上VBA代码:
Sub 查询()
Dim brr()
Sheets("数据").Activate
arr = Sheets("数据").Range("b2:r" & [c65536].End(3).Row)
Sheets("查询").Activate
Sheets("查询").Range("A3:H65536").Clear
s = [b2]
For j = 1 To 5
For i = 1 To UBound(arr)
If InStr(arr(i, j), s) > 0 Then
n = n + 1
ReDim Preserve brr(1 To 5, 1 To n)
For k = 1 To 5
brr(k, n) = arr(i, k)
Next
End If
Next
Next
Debug.Print UBound(brr, 1)
[a3].Resize(n, 5) = Application.Transpose(brr)
End Sub
4.然后把按钮与该宏关联。搞定,我们在B2单元格输入关键词,然后点击按钮就出结果啦。  有朋友说,你这列数比较少,如果数据列数比较多怎么办呢?
只需要把代码中5改为你需要的列数就行啦。
|