Excel精英培训网

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

[已解决]求地址

[复制链接]
发表于 2015-3-4 07:49 | 显示全部楼层 |阅读模式
求地址.
最佳答案
2015-3-4 09:03
如果有相同,用逗号隔开
  1. Function LX(rng)
  2. Set d = CreateObject("scripting.dictionary")
  3. Set rg = rng(1).Resize(rng.Count + 1)
  4. Set c = rg(1)
  5. For i = 2 To rg.Count
  6.     If rg(i) - 1 = rg(i - 1) Then
  7.        Set c = Union(c, rg(i))
  8.     Else
  9.        d(c.Address(0, 0)) = c.Count
  10.        Set c = rg(i)
  11.     End If
  12. Next
  13. a = d.keys: b = d.items: p = ""
  14. n = Application.Max(d.items)
  15. For i = 0 To d.Count - 1
  16.     If b(i) = n Then p = p & "," & a(i)
  17. Next
  18. LX = n & "(" & Mid(p, 2) & ")"
  19. End Function
复制代码

求地址.rar

11.74 KB, 下载次数: 6

发表于 2015-3-4 08:26 | 显示全部楼层
4——B4:B7是B4:B7单元格的值都大于4,好理解。
但15——A1:A15啥意思?
回复

使用道具 举报

发表于 2015-3-4 09:03 | 显示全部楼层    本楼为最佳答案   
如果有相同,用逗号隔开
  1. Function LX(rng)
  2. Set d = CreateObject("scripting.dictionary")
  3. Set rg = rng(1).Resize(rng.Count + 1)
  4. Set c = rg(1)
  5. For i = 2 To rg.Count
  6.     If rg(i) - 1 = rg(i - 1) Then
  7.        Set c = Union(c, rg(i))
  8.     Else
  9.        d(c.Address(0, 0)) = c.Count
  10.        Set c = rg(i)
  11.     End If
  12. Next
  13. a = d.keys: b = d.items: p = ""
  14. n = Application.Max(d.items)
  15. For i = 0 To d.Count - 1
  16.     If b(i) = n Then p = p & "," & a(i)
  17. Next
  18. LX = n & "(" & Mid(p, 2) & ")"
  19. End Function
复制代码

评分

参与人数 1 +6 收起 理由
张雄友 + 6 我就是楼主的。

查看全部评分

回复

使用道具 举报

匿名  发表于 2015-3-4 09:36
好吧,又是VBA,会用E立方平台,何必如此纠结。
回复

使用道具

 楼主| 发表于 2015-3-4 14:03 | 显示全部楼层
dsmch 发表于 2015-3-4 09:03
如果有相同,用逗号隔开

为什么只对数字有效?混合呢?

连续数字全部列出2.rar

13.25 KB, 下载次数: 4

点评

具体附件具体对待,楼主的附件不是混合,是混为一谈了。  发表于 2015-3-4 14:54
回复

使用道具 举报

 楼主| 发表于 2015-3-4 16:12 | 显示全部楼层
dsmch 发表于 2015-3-4 09:03
如果有相同,用逗号隔开

没有这样的,我的意思是要么全部是数字(如:11,12,13,14,......),要么是:AK-01,AK-02,AK-03......这样的,是生产制单来的。没有你说的:a23bd12这种令人捉摸的情况 。

点评

楼主的问题一向是不断升级的,所以要先想在前面。单一情况可以解决,像5楼附件,请另请高明。  发表于 2015-3-4 17:07
回复

使用道具 举报

发表于 2015-3-6 09:11 | 显示全部楼层
dsmch 发表于 2015-3-4 09:03
如果有相同,用逗号隔开

楼主的问题一向是不断升级的,

一阵见血 啊!

张雄友在VBA里混很久了……但水平一直不长进,特别喜欢伸手要结果……

唯一的优点(也是烦人之处),就是最喜欢钻牛角尖,提出更复杂的要求。
回复

使用道具 举报

发表于 2015-3-6 09:29 | 显示全部楼层
啷个把老实话说出来了呢?
回复

使用道具 举报

 楼主| 发表于 2015-3-6 15:13 | 显示全部楼层
上清宫主 发表于 2015-3-6 09:29
啷个把老实话说出来了呢?

嗯,没有什么可丢人的,要不然我的工资也不会才 3295元人民币一个月。习惯取笑别人也不是一件好事。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 03:31 , Processed in 0.344968 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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