Excel精英培训网

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

[已解决]数据检索与填充

[复制链接]
发表于 2012-3-18 14:43 | 显示全部楼层 |阅读模式
自动检索填充.rar (7.3 KB, 下载次数: 16)
发表于 2012-3-18 15:17 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-3-18 15:19 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-18 15:44 | 显示全部楼层
  1. Sub search()
  2. Dim arr, brr
  3. Dim i As Long
  4. arr = Range("a1:a" & Range("a65536").End(3).Row)
  5. ReDim brr(1 To UBound(arr), 1 To 2)

  6. For i = 1 To UBound(arr)
  7. If arr(i, 1) Like "*" & Cells(2, 2) Then
  8. k = k + 1
  9. brr(k, 1) = arr(i, 1)
  10. ElseIf arr(i, 1) Like "*" & Cells(2, 2) & "*" Then
  11. m = m + 1
  12. brr(m, 2) = arr(i, 1)
  13. End If
  14. Next i
  15. Range("c2:d65536").ClearContents
  16. Range("c2").Resize(UBound(arr), 2) = brr
  17. End Sub
复制代码



自动检索填充.rar (16.68 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2012-3-18 15:45 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim ar, st, br(), cr()
  3.     Dim i As Integer, j As Integer, k As Integer
  4.     If Target.Address <> "$B$2" Then Exit Sub
  5.     Range("c2:c65536").ClearContents
  6.     Range("d2:d65536").ClearContents
  7.     st = Range("b2")
  8.     ar = Range("a2:a" & Range("a65536").End(xlUp).Row)
  9.     ReDim br(1 To UBound(ar))
  10.     ReDim cr(1 To UBound(ar))
  11.     For i = 1 To UBound(ar)
  12.         If ar(i, 1) Like "*" & st Then
  13.             j = j + 1
  14.             br(j) = ar(i, 1)
  15.         ElseIf ar(i, 1) Like "*" & st & "*" And Not ar(i, 1) Like "*" & st Then
  16.             k = k + 1
  17.             cr(k) = ar(i, 1)
  18.         End If
  19.     Next
  20.     If j > 0 Then Range("c2").Resize(j, 1) = Application.Transpose(br)
  21.     If k > 0 Then Range("d2").Resize(k, 1) = Application.Transpose(cr)
  22. End Sub
复制代码
放在工作表事件里
自动检索填充.rar (15.69 KB, 下载次数: 9)
回复

使用道具 举报

 楼主| 发表于 2012-3-18 17:48 | 显示全部楼层
hrpotter 发表于 2012-3-18 15:45
放在工作表事件里

首先感谢楼上两位老师的指点,我是新手,不知道“工作事件”在哪,能否演示一下效果呢,我用的版本是2007 ,多谢!
回复

使用道具 举报

发表于 2012-3-18 18:00 | 显示全部楼层
wangyuhang6 发表于 2012-3-18 17:48
首先感谢楼上两位老师的指点,我是新手,不知道“工作事件”在哪,能否演示一下效果呢,我用的版本是2007 ...

在vbe里,alt+f11打开,双击左边工程窗口的sheet1,看我的附件吧,已经做好了!在单元格里输入查询内容按回车,C,D列的数据会自动查询出来
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 04:19 , Processed in 0.480340 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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