ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8670|回复: 10

[讨论] 统计得出出现次数最多的词语,虚心求解

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-2-6 23:40 | 显示全部楼层 |阅读模式
虚心求解

QQ图片20150206233200.png 样本.rar (2.41 KB, 下载次数: 43)

TA的精华主题

TA的得分主题

发表于 2015-2-7 09:17 | 显示全部楼层
  1. Sub test()
  2. Set d = CreateObject("scripting.dictionary")
  3. r = Range("a1").CurrentRegion
  4. ReDim a(1 To UBound(r, 2), 1 To UBound(r))
  5. For i = 2 To UBound(r)
  6.   For j = 3 To UBound(r, 2)
  7.     If r(i, j) <> "" Then
  8.       If d.Exists(r(i, j)) Then
  9.         n = Val(d(r(i, j)))
  10.         d(r(i, j)) = Replace(d(r(i, j)), n, n + 1, , 1) & vbTab & r(i, 2)
  11.         Else
  12.         d(r(i, j)) = 1 & vbTab & r(i, j) & vbTab & r(i, 2)
  13.       End If
  14.     End If
  15.   Next
  16. Next
  17. With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  18.   .SetText Join(d.items, vbNewLine)
  19.   .PutInClipboard
  20.   Sheet1.Paste [a17]
  21. End With
  22. Range("a17").CurrentRegion.Offset(1).Sort [a17], 2
  23. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-2-7 10:10 | 显示全部楼层
请看附件                     

TA的精华主题

TA的得分主题

发表于 2015-2-7 10:10 | 显示全部楼层
样 本.zip (14.79 KB, 下载次数: 108)

TA的精华主题

TA的得分主题

发表于 2015-2-7 13:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-2-7 14:37 | 显示全部楼层
本帖最后由 FLY-VITAS 于 2015-2-7 14:45 编辑

不知道楼主问题解决了没,自己动手写了一个,希望对你有帮助

样本.xlsm.zip

25.13 KB, 下载次数: 104

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-2-8 00:04 | 显示全部楼层
hlly888 发表于 2015-2-7 10:10

感谢大神><

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-2-8 00:06 | 显示全部楼层
FLY-VITAS 发表于 2015-2-7 14:37
不知道楼主问题解决了没,自己动手写了一个,希望对你有帮助

谢谢你的答案,已解决

TA的精华主题

TA的得分主题

发表于 2015-2-8 12:10 | 显示全部楼层
  1. Sub test()
  2. '需要安装ACTIVERUBY ,下载地址 http://www.artonx.org/data/asr/Ruby-2.1.1.msi
  3. Set ojs = CreateObject("scriptcontrol"): ojs.Language = "rubyscript"
  4. ojs.eval ("def aa(a);$a=a;end")
  5. y = ojs.Run("aa", Range("b2:j" & [b2].End(4).Row).Value)
  6. y = ojs.eval("h=Hash.new{[]};$a.each{|x|x[1..-1].each{|k|if k!=nil;h[k]<<=x[0];end}};h.sort_by{|k,v|-v.size}.map{|k,v|[v.size,k,*v]}")
  7. [a17].Resize(UBound(y) + 1, UBound(y, 2) + 1) = y
  8. Set ojs = Nothing
  9. 'Stop
  10. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-2-8 13:24 | 显示全部楼层
本帖最后由 eernnip 于 2015-2-8 15:48 编辑
Zamyi 发表于 2015-2-7 09:17

大神,根据你的方法,已解决

QQ图片20150208131108.png

分类工具.rar

120.4 KB, 下载次数: 132

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

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 22:26 , Processed in 0.049458 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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