ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-2 08:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
sunny_8848 发表于 2019-11-2 08:13
多谢帮忙,效果挺不错的

不客气。能用就好!

TA的精华主题

TA的得分主题

发表于 2019-11-2 14:05 | 显示全部楼层
本帖最后由 evg 于 2019-11-2 14:23 编辑

楼主,日线能不能转年线,日期顺序是倒的,

股票日线转为年线.rar

763.91 KB, 下载次数: 19

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-2 15:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
evg 发表于 2019-11-2 14:05
楼主,日线能不能转年线,日期顺序是倒的,

1、先升序排序
2、试试以下代码
arr = Sheet1.[a1].CurrentRegion
ReDim brr(1 To UBound(arr), 1 To 8)
brr(1, 1) = arr(2, 1)
brr(1, 3) = arr(2, 2)
min1 = 10 ^ 9
For i = 2 To UBound(arr) - 1
'    If arr(i, 8) = arr(i + 1, 8) Then
'Debug.Print Month(arr(i, 1))
    If Year(arr(i, 1)) = Year(arr(i + 1, 1)) Then
        s = s + arr(i, 6)
        s1 = s1 + arr(i, 7)
        max1 = Application.Max(max1, arr(i, 3), arr(i + 1, 3))
        min1 = Application.Min(min1, arr(i, 4), arr(i + 1, 4))
    Else
        n = n + 1
        brr(n, 2) = arr(i, 1):
        brr(n + 1, 1) = arr(i + 1, 1)
        brr(n + 1, 3) = arr(i + 1, 2)
        brr(n, 4) = Application.Max(max1, arr(i, 3))
        brr(n, 5) = Application.Min(min1, arr(i, 4))
        brr(n, 6) = arr(i, 5)
        brr(n, 7) = s + arr(i, 6)
        brr(n, 8) = s1 + arr(i, 7)
        s = 0: s1 = 0: max1 = 0: min1 = 10 ^ 9
    End If
Next
Sheet4.[A2].Resize(n + 1, 8) = ""
Sheet4.[A2].Resize(n, 8) = brr '
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-2 15:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-11-2 15:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

新问题,数据为0,最低价为0

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-2 16:10 | 显示全部楼层
evg 发表于 2019-11-2 15:12
新问题,数据为0,最低价为0

1、查找替换-单元格匹配
2、将0 替换为 “|” 试试

TA的精华主题

TA的得分主题

发表于 2019-11-2 16:34 | 显示全部楼层
YZC51 发表于 2019-11-2 16:10
1、查找替换-单元格匹配
2、将0 替换为 “|” 试试

好的,将0 替换为 “|” 试试

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-2 20:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习群子老师的代码。谢谢老师!
http://club.excelhome.net/thread-1356247-1-1.html

Sub DataUnique()  '提取不重复数据
    On Error Resume Next
'    Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range(ActiveCell.Offset(Selection.Count + 3).Address), Unique:=True
    Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range(ActiveCell.Offset(0, 1).Address), Unique:=True '在下一列,列出已经排序好的不重复值。
    Range("Extract").Resize(Selection.Count).Sort Key1:=Range("Extract"), Order1:=xlAscending, Header:=xlYes: Range("Extract").Activate
End Sub
'用法:选中要提取不重复值的【单列】区域。然后执行代码
'结果:以范围第1行为标题,在数据下面隔开3行开始,列出已经排序好的不重复值。

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-3 06:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
YZC51 发表于 2019-11-2 20:12
学习群子老师的代码。谢谢老师!
http://club.excelhome.net/thread-1356247-1-1.html

恳请老师按附件要求,编写自定义函数的代码。

1.gif

对区域内的指定数字进行计数.zip (10.03 KB, 下载次数: 36)

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-3 14:31 | 显示全部楼层
玉阳山人 发表于 2019-11-3 06:23
恳请老师按附件要求,编写自定义函数的代码。

不好意思,等下,抽时间看看!

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-16 05:43 , Processed in 0.044118 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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