ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何提取两个码数(两个码数要求是两位数)中最大数合并成一个新的码数?

如何提取两个码数(两个码数要求是两位数)中最大数合并成一个新的码数?

作者:绿色风 分类: 时间:2022-08-18 浏览:85
楼主
wise
Q:如何提取两个码数(两个码数要求是两位数)中最大数合并成一个新的码数?
如第一个码数是78,第二个码数是67,则第一个码数提取8作为新码数的十位,第二个码数中最大的数字是7,提取7作为新码数的个位。
新组合成的码数算法为:第一个码数最大数字*10+第二个码数最大值,此时新合成码数为:87.
A:ALT+F11→插入模块→输入以下代码:

  1. Function getmax(rng1 As Long, rng2 As Long)
  2.   Dim i As Integer, j As Integer
  3.   Dim a As Integer, b As Integer, c As Integer, d As Integer
  4.   On Error Resume Next '防错语句
  5. 100:
  6.   If rng1 < 10 Or rng1 > 100 Or rng2 < 10 Or rng2 > 100 Then Err.Clear: GoTo 100 '判断两组数是否是两位数,如果不是则出现错误
  7.   a = rng1 / 10     '提取第一个两位数的十位
  8.   b = rng1 - 10 * a '提取第一个两位数的个位
  9.   c = rng2 / 10     '提取第二个两位数的十位
  10.   d = rng2 - 10 * c '提取第二个两位数的个位
  11.   If a > b Then     '判断第一个数的十位的大小,如果是十位大,则a赋值给i,反之,b赋值给i
  12.     i = a
  13.   Else
  14.     i = b
  15.   End If
  16.   If c > d Then     '判断第二个数的十位的大小,如果是十位大,则c赋值给j,反之,d赋值给j
  17.     j = c
  18.   Else
  19.     j = d
  20.   End If
  21.   getmax = i * 10 + j  '把两个数最大的值组合成一个新的值
  22. 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总版主之一

评论列表
sitemap