Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2313|回复: 4

[已解决]查找含有字符的单元格并列出相应数据

[复制链接]
发表于 2016-11-1 21:21 | 显示全部楼层 |阅读模式
本帖最后由 shixyi37 于 2016-11-1 21:46 编辑

在本张工作表某一个单元格里输入一个字符,就在另一张工作表上(数据源表)的指定区域里查找是否含有该字符,并在本表中的指定地方列出含有该字符的所有行的全部数据。 查找含有字符的单元格并列出相应数据.zip (16.4 KB, 下载次数: 6)
 楼主| 发表于 2016-11-1 23:20 | 显示全部楼层
回复

使用道具 举报

发表于 2016-11-2 06:03 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-11-2 08:41 | 显示全部楼层
Sub 模糊查找并列出()
   Dim k&, j&
    With Sheets(1)
    Sheets(1).[A2:Z65530].ClearContents
        For k = 2 To Sheets(2).Range("A65536").End(xlUp).Row
        If Application.CountIf(Sheets(2).Cells(k, 1), "*" & Sheets(1).[C1] & "*") > 0 Then
           For j = 1 To 2
               .Cells(k, j) = Sheets(2).Cells(k, j) ' .Range(.Cells(k, j), "A" & Sheets(1).Range("A65536").End(xlUp).Row) = Sheets(2).Cells(k, j)
                    Next
                    Sheets(2).Cells(k, 1).Interior.ColorIndex = 3
         End If
         Next
         End With
End Sub
回复

使用道具 举报

发表于 2016-11-2 09:08 | 显示全部楼层    本楼为最佳答案   
Sub mySearch()
    Dim A, i, j, k, str
    A = Sheets(2).Range("a1").CurrentRegion
    Sheets(1).Select
    str = [b1]

    For i = 2 To UBound(A)
        If InStr(A(i, 1), str) Then
            k = k + 1
            For j = 1 To UBound(A, 2)
                A(k, j) = A(i, j)
            Next j
        End If
    Next i

    [a2:b65536] = ""
    [a2].Resize(k, UBound(A, 2)) = A
End Sub

查找2.rar (16.88 KB, 下载次数: 5)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 08:33 , Processed in 0.279935 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表