作者:绿色风
分类:
时间:2022-08-18
浏览:138
楼主 wise |
Q:如何提取两个码数(两个码数要求是两位数)中最大数合并成一个新的码数? 如第一个码数是78,第二个码数是67,则第一个码数提取8作为新码数的十位,第二个码数中最大的数字是7,提取7作为新码数的个位。 新组合成的码数算法为:第一个码数最大数字*10+第二个码数最大值,此时新合成码数为:87. A:ALT+F11→插入模块→输入以下代码:
- Function getmax(rng1 As Long, rng2 As Long)
- Dim i As Integer, j As Integer
- Dim a As Integer, b As Integer, c As Integer, d As Integer
- On Error Resume Next '防错语句
- 100:
- If rng1 < 10 Or rng1 > 100 Or rng2 < 10 Or rng2 > 100 Then Err.Clear: GoTo 100 '判断两组数是否是两位数,如果不是则出现错误
- a = rng1 / 10 '提取第一个两位数的十位
- b = rng1 - 10 * a '提取第一个两位数的个位
- c = rng2 / 10 '提取第二个两位数的十位
- d = rng2 - 10 * c '提取第二个两位数的个位
- If a > b Then '判断第一个数的十位的大小,如果是十位大,则a赋值给i,反之,b赋值给i
- i = a
- Else
- i = b
- End If
- If c > d Then '判断第二个数的十位的大小,如果是十位大,则c赋值给j,反之,d赋值给j
- j = c
- Else
- j = d
- End If
- getmax = i * 10 + j '把两个数最大的值组合成一个新的值
- End Function
即可得到一个自定义函数getmax
如何提取两个码数(两个码数要求是两位数)中最大数合并成一个新的码数?.rar |
2楼 eliane_lei |
进来学习!谢谢分享 |
3楼 hylees |
学习。 |
4楼 滴水穿石 |
试着看看VBA,感谢分享 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一