Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: lulu0104

[已解决]VBA-如何解决大量关键词重复性的筛选?

[复制链接]
发表于 2012-1-6 19:13 | 显示全部楼层
很简单,手工操作,并录制宏。
思路是这样的:
为每个词标注是第几次出现。然后,然后,筛选出10的,就是 重复10及10次以上的。
具体方法:
1)排序
2)假设你关键字在A列,那么增加空列B, 并在B1填写1, 在B2 填写公式: =if(a1=a2,b1+1,1)
如果和前行相同,则+1,否则=1
3)拖拉B的公式。
4)选中B列, 复制,选择性粘贴,数值,
5)对B 筛选, 10 的,就是  重复次数>= 10 的。
回复

使用道具 举报

发表于 2012-1-6 20:07 | 显示全部楼层    本楼为最佳答案   
在“筛选词”工作表中,按鼠标右键即可自动执行过滤筛选:

代码其实非常非常地简单:
  1. Sub WordFilter()
  2.    
  3.     rw = Sheet1.[a65536].End(3).Row '获取原始数据页中A列最大行数
  4.     arr = Application.Transpose(Sheet1.[a1].Resize(rw)) '获取原始数据并转为一维数组arr
  5.    
  6.     For i = 1 To [a1].End(2).Column '遍历筛选项(即第一行所有列)
  7.         t = Filter(arr, Cells(1, i)) '按第一行关键词用Filter筛选
  8.         If UBound(t) > -1 Then Cells(2, i).Resize(UBound(t) + 1) = Application.Transpose(t) '结果输出
  9.     Next
  10. End Sub
复制代码

关键词筛选.rar

16.82 KB, 下载次数: 50

回复

使用道具 举报

发表于 2012-1-6 20:16 | 显示全部楼层
本来我还以为要用到正则或SQL方法的……后来一看例子,只用Filter就OK啦。
回复

使用道具 举报

发表于 2012-1-7 13:49 | 显示全部楼层
本来我还以为要用到正则或SQL方法的……后来一看例子,只用Filter就OK啦。

回复

使用道具 举报

 楼主| 发表于 2012-1-9 15:00 | 显示全部楼层
香川群子 发表于 2012-1-6 20:07
在“筛选词”工作表中,按鼠标右键即可自动执行过滤筛选:

代码其实非常非常地简单:

那个,我现在还是菜鸟级别,你弄的那个代码是录制宏的吗?然后把那段代码添加进去后,就一键OK了
回复

使用道具 举报

 楼主| 发表于 2012-1-9 19:19 | 显示全部楼层
香川群子 发表于 2012-1-6 20:07
在“筛选词”工作表中,按鼠标右键即可自动执行过滤筛选:

代码其实非常非常地简单:

我把你这个代码复制到宏里面,怎么达不到你做的那种效果呢
回复

使用道具 举报

 楼主| 发表于 2012-1-9 20:43 | 显示全部楼层
香川群子 发表于 2012-1-6 20:07
在“筛选词”工作表中,按鼠标右键即可自动执行过滤筛选:

代码其实非常非常地简单:

高手,我弄懂那个表了,但是现在存在一个问题。我这个表只是一个模版,那个里面只有一个病种。等我筛选后,筛选表就不能做任何更改。等重新复制另外一个病种上去后,再筛选,就几种病种都在那里了。没有达到筛选效果。能否再帮我筛选一段代码?我把你答案设置为最佳,嘿嘿。
回复

使用道具 举报

发表于 2012-1-9 22:46 | 显示全部楼层
那也很简单……只要修改输出结果的代码即可。

If UBound(t) > -1 Then Cells(2, i).Resize(UBound(t) + 1) = Application.Transpose(t)

改成:
If UBound(t) > -1 Then Cells(65536, i).End(3).Offset(1,0).Resize(UBound(t) + 1) = Application.Transpose(t)
回复

使用道具 举报

发表于 2014-12-6 15:04 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 19:13 , Processed in 0.153302 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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