ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: YZC51

[讨论] 自定义函数--提取单元格内多个被分开的数字

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2020-3-14 20:53 | 显示全部楼层
YZC51 发表于 2020-3-14 12:08
请老师斧正!
Public Function UNIQUE(rng)
    Set d = CreateObject("Scripting.Dictionary")

去重功能是达到了,要能套其它函数计数或者求和就好啦

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-14 21:13 | 显示全部楼层
本帖最后由 YZC51 于 2020-3-14 22:36 编辑
浮生若梦~~~ 发表于 2020-3-14 20:53
去重功能是达到了,要能套其它函数计数或者求和就好啦

请老师斧正!

Public Function UNIQUE(rng, Optional x As Integer)
    Set d = CreateObject("Scripting.Dictionary")
    Arr = rng
    For i = 1 To UBound(Arr)
        If Len(Arr(i, 1)) Then d(Arr(i, 1)) = ""
    Next
    brr = d.keys
    If x Then UNIQUE = UBound(brr) + 1: Exit Function
    On Error Resume Next
    UNIQUE = brr(0)
    With Application.ThisCell
        For j = 1 To UBound(brr, 1)
            If .Offset(j) = "" Then s = Null Else s = "*"
            .Offset(j).Replace s, brr(j)
        Next j
    End With
End Function

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-14 21:41 | 显示全部楼层
YZC51 发表于 2020-3-14 21:13
请老师斧正!

Public Function UNIQUE(rng, Optional x As Integer)

真好,直接参数2计数

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-14 22:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-3-14 22:25 | 显示全部楼层
YZC51 发表于 2020-3-14 21:13
请老师斧正!

Public Function UNIQUE(rng, Optional x As Integer)

1.如果能忽略数据区域的空白,就更强大了。
2.弱弱地问一句,参数2应该怎样指定?0~10范围内任意数吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-14 22:32 | 显示全部楼层
本帖最后由 YZC51 于 2020-3-14 22:34 编辑
WYS67 发表于 2020-3-14 22:25
1.如果能忽略数据区域的空白,就更强大了。
2.弱弱地问一句,参数2应该怎样指定?0~10范围内任意数吗?

谢谢老师花花鼓励!

1、 d(Arr(i, 1)) = ""
修改为
If Len(Arr(i, 1)) Then d(Arr(i, 1)) = ""

2、0为列出数据;不等于0为计数。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-3-14 22:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
YZC51 发表于 2020-3-14 22:32
谢谢老师花花鼓励!

1、 d(Arr(i, 1)) = ""

造福好多人,365是好多人用不起,旧版本又没,解决一个问题要写好长的公式,对会的人还好说,小白们就...老师辛苦了!

TA的精华主题

TA的得分主题

发表于 2020-3-14 22:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
YZC51 发表于 2020-3-14 22:32
谢谢老师花花鼓励!

1、 d(Arr(i, 1)) = ""

对不起,就只有一朵花了。嗯,测试感觉此函数非常强大!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-14 23:05 | 显示全部楼层
浮生若梦~~~ 发表于 2020-3-14 22:53
造福好多人,365是好多人用不起,旧版本又没,解决一个问题要写好长的公式,对会的人还好说,小白们就...老师 ...

不客气!区区一个小小函数,老师过奖啦!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-14 23:06 | 显示全部楼层
WYS67 发表于 2020-3-14 22:58
对不起,就只有一朵花了。嗯,测试感觉此函数非常强大!

没关系!不客气!老师过奖啦!

评分

2

查看全部评分

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

本版积分规则

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

GMT+8, 2024-12-25 14:11 , Processed in 0.042414 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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