ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 创建按指定条件组合数字的自定义函数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-2-17 15:03 | 显示全部楼层
yjh_27 发表于 2019-2-17 14:17
增加第4参数,指定字符长度

老师:10楼的代码已测试,7楼反馈问题的1、2已完美解决!还有以下两点:

1.恕我直言,增加的第4参数--指定字符长度--只是针对A:E区域而言,好像对G列不起作用?
      再则,由于乐透型彩票号码的总个数不可能大于99,所以用两位数01~99就足以够用,所以第四参数的用途不大,似可去掉。

2.7楼反馈问题的3没有解决--即:当C1指定的号码总数小于10个时,G列的每个单元格变成了一位数连接,怎样才能让计算结果仍然显示为两位数连接?如下面截图里的G列--G5显示为0102030405,......G130显示为0506070809
  这样,在对G列显示的各个号码求和时,能够以两位数为一个号码单元,统一用数组公式{  =SUM(--(0&MID(C5,ROW($1:$9)*2-1,2))),对1~9和10~99的不同位数的各个号码进行求和运算?

1.gif

TA的精华主题

TA的得分主题

发表于 2019-2-17 15:21 | 显示全部楼层
yjh_27 发表于 2019-2-17 14:17
增加第4参数,指定字符长度

老师:1.由于乐透型彩票号码总数一般在1~60个范围内,用01~60两位数就足以囊括,所以不需要增加第4参数就行!


  2.10楼代码很好地解决了7楼提到的1、2两个问题,当第3个问题依然存在--即:假如G2指定为5,G1指定为9(G1小于两位数),则G列里的每个号码单元都变成了一位数显示,如G5的计算结果显示为56789,而不是0506070809两位数格式显示。我需要G列的每个号码单元都必须按两位数显示(小于10的号码前边加0补足两位)。

恳请老师按以上要求修改代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-17 15:40 | 显示全部楼层
回复个求助帖都要长时间审核,真令人无语了!

TA的精华主题

TA的得分主题

发表于 2019-2-17 15:43 | 显示全部楼层
yjh_27 发表于 2019-2-17 14:17
增加第4参数,指定字符长度

只能评分,回复个技术贴,都要长时间审核,无语了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-17 16:57 | 显示全部楼层
yjh_27 发表于 2019-2-17 14:17
增加第4参数,指定字符长度



1.取消第四参数【用途不大】。2.G列显示的计算结果应该是每个号码都是两位数【当号码小于10变成1~9的一位数时,前边加0补足两位数】。

TA的精华主题

TA的得分主题

发表于 2019-2-17 17:14 | 显示全部楼层
WYS67 发表于 2019-2-17 16:57
1.取消第四参数【用途不大】。2.G列显示的计算结果应该是每个号码都是两位数【当号码小于10变成1~9的 ...

Function LTXZH(C1, C2, Optional mode = 1, Optional ch = 0)
改为
Function LTXZH(C1, C2, Optional mode = 1, Optional ch = 2)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-17 17:34 | 显示全部楼层
yjh_27 发表于 2019-2-17 17:14
Function LTXZH(C1, C2, Optional mode = 1, Optional ch = 0)
改为
Function LTXZH(C1, C2, Optional  ...

老师:还有两点:1.模块2里的代码是否也是LTXZH的一部分?不能把把它和模块1的代码合并吗?如此加载宏,会不会和其它自定义函数的代码混淆?

2.怎样去掉第四参数?

TA的精华主题

TA的得分主题

发表于 2019-2-17 17:59 | 显示全部楼层
WYS67 发表于 2019-2-17 17:34
老师:还有两点:1.模块2里的代码是否也是LTXZH的一部分?不能把把它和模块1的代码合并吗?如此加载宏, ...

1 是的,你可以把它拷贝到一个模块中。

指定范围内数字按指定位数全排列的自定义函数
http://club.excelhome.net/thread-1455280-1-1.html
(出处: ExcelHome技术论坛)
共用

2 按14L修改第4参数默认值后,使用该自定义函数可省略第4参数。与无第4参数一样使用。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-2-17 18:14 | 显示全部楼层
yjh_27 发表于 2019-2-17 17:59
1 是的,你可以把它拷贝到一个模块中。

指定范围内数字按指定位数全排列的自定义函数

老师:18楼第1个办法我懂了,但不明白第2项的“按14L修改第4参数默认值后,使用该自定义函数可省略第4参数”是什么意思?

TA的精华主题

TA的得分主题

发表于 2019-2-17 18:18 | 显示全部楼层
yjh_27 发表于 2019-2-17 17:59
1 是的,你可以把它拷贝到一个模块中。

指定范围内数字按指定位数全排列的自定义函数

1 是的,你可以把它拷贝到一个模块中。

指定范围内数字按指定位数全排列的自定义函数
http://club.excelhome.net/thread-1455280-1-1.html
(出处: ExcelHome技术论坛)
共用


是个好办法!


只是对2有些不明白
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-19 17:57 , Processed in 0.042616 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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