Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: fengdavid

[已解决]如何实现批量更改

[复制链接]
 楼主| 发表于 2013-4-9 21:59 | 显示全部楼层
jxncfxsf 发表于 2013-4-9 21:46
我也弄了一下,看好用不。

也好用,谢谢帮助!
回复

使用道具 举报

 楼主| 发表于 2013-4-9 22:00 | 显示全部楼层
回复

使用道具 举报

发表于 2013-4-9 22:44 | 显示全部楼层
zjdh 发表于 2013-4-9 21:03
是每一个单元为一组数,出现重复则全部修改,楼主的示例就是这个意思。

原来是这种意思   还是你了解楼主

回复

使用道具 举报

发表于 2013-4-9 22:45 | 显示全部楼层
Sub test()
    Dim arra, arrb, a, d
    a = Cells(60000, 1).End(xlUp).Row
    arra = Cells(1, 1).Resize(a)
    Set d = CreateObject("scripting.dictionary")
    For i = 1 To a
        arrb = VBA.Split(arra(i, 1), "-")
        arra(i, 1) = ""
        For j = 0 To UBound(arrb)
            d(arrb(j)) = d(arrb(j)) + 1
            If d(arrb(j)) > 1 Then
                arra(i, 1) = arra(i, 1) & arrb(j) & "." & d(arrb(j)) - 1 & "-"
            Else
                arra(i, 1) = arra(i, 1) & arrb(j) & "-"
            End If
        Next j
        Erase arrb
        arra(i, 1) = Left(arra(i, 1), Len(arra(i, 1)) - 1)
    Next i
    Cells(1, 4).Resize(a) = arra
End Sub

这是我写的  你也可以借鉴一下
回复

使用道具 举报

 楼主| 发表于 2013-4-10 05:44 | 显示全部楼层
1032446692 发表于 2013-4-9 22:45
Sub test()
    Dim arra, arrb, a, d
    a = Cells(60000, 1).End(xlUp).Row

谢谢你,今天竟然等到这么多人的帮助
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 02:18 , Processed in 0.619790 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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