Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2258|回复: 7

[已解决]有请liuts 版主再给修改下代码

[复制链接]
发表于 2012-2-8 22:21 | 显示全部楼层 |阅读模式
本帖最后由 东方智彩 于 2012-2-9 10:23 编辑

新的问题是,数据运算后在C列还会出现2个或3个数字重复,能否在这个代码上再加个判断和循环,让C列中的数据如果有2个或3个数字重复的,就在C列再次如上运算,
例099→C列090,0重复再加1为091,C列中最终显示结果是091,
例343→C列344,4重复再加1为345,C列中最终显示结果是345,请版主再给修改下代码,谢谢!
Book1.rar (8.21 KB, 下载次数: 12)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2012-2-10 10:08 | 显示全部楼层
版主很忙不在啊!哪位高手能给修改下也行啊!谢谢啦!
回复

使用道具 举报

发表于 2012-2-10 10:29 | 显示全部楼层
只是看了链接帖里的要求,这个贴新加的要求没看懂。

如果要判断的数是199,按链接帖里的要求,应转为啥?
回复

使用道具 举报

 楼主| 发表于 2012-2-10 11:28 | 显示全部楼层
199是两个重复数就在后面的数上加1,结果为190,如是999三个数重复,第二个重复数加1取尾为0,第三个数就要加2取尾是1,结果应为901
回复

使用道具 举报

发表于 2012-2-10 11:35 | 显示全部楼层
我没问对,那334应等于多少呀?
回复

使用道具 举报

 楼主| 发表于 2012-2-10 11:47 | 显示全部楼层
就是这个问题,重复3加1是4就成了344了,再次出现重复,所以第二个重复数还要加1就是345
回复

使用道具 举报

发表于 2012-2-10 13:02 | 显示全部楼层    本楼为最佳答案   
本帖最后由 爱疯 于 2012-2-10 13:25 编辑

  1. Sub test()
  2.     Dim A, i%
  3.     With Sheets("sheet1")
  4.         A = .Range("b4:c" & .Range("b4").End(xlDown).Row)
  5.     End With
  6.     For i = 1 To UBound(A)
  7.         A(i, 2) = pd(A(i, 1))
  8.     Next i
  9.     [c4].Resize(UBound(A), 1) = Application.Index(A, 0, 2)
  10. End Sub


  11. Function pd(x)    '判断
  12.     Dim b%, s%, g%
  13. 100:
  14.     pd = x
  15.     b = Left(x, 1)
  16.     s = Mid(x, 2, 1)
  17.     g = Right(x, 1)

  18.     '如果百位和十位相同 , 那么十位加1取尾
  19.     If b = s Then
  20.         x = b & Right((s + 1), 1) & g
  21.         GoTo 100
  22.     End If
  23.     '如果十位和个位相同 , 那么个位加1取尾
  24.     If s = g Then
  25.         x = b & s & Right((g + 1), 1)
  26.         GoTo 100
  27.     End If
  28.     '如果个位和百位相同 , 那么个位加1取尾
  29.     If g = b Then
  30.         x = b & s & Right((g + 1), 1)
  31.         GoTo 100
  32.     End If
  33.     '如3个数码全相同,第2位加1取尾,第3位加2取尾
  34.     If Replace(x, b, "", , 3) = "" Then
  35.         pd = b & Right((s + 1), 1) & Right((g + 2), 1)
  36.     End If
  37.    
  38. End Function
复制代码
Book1c.rar (19.62 KB, 下载次数: 12)

评分

参与人数 1 +3 收起 理由
东方智彩 + 3

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-2-10 13:35 | 显示全部楼层
谢谢爱疯版主热情解答,代码测试很好!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 13:37 , Processed in 0.229717 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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