Excel精英培训网

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

[已解决]改一下代码,谢谢

[复制链接]
发表于 2013-5-27 13:11 | 显示全部楼层 |阅读模式
帮忙改一下这代码,如果把数据源A到C列改放AX到AZ列,结果G列改放在BD列,这代码帮我改一下,谢谢!!
Sub TT()
Dim I As Long, K As Long
Dim Ar(1 To 10000, 1 To 1)
For I = 2 To Range("b200000").End(xlUp).Row
If Cells(I, 1) <> Cells(I - 1, 1) Then
K = K + 2
Ar(K - 1, 1) = Cells(I, 1)
Ar(K, 1) = Cells(I, 3)
Else
K = K + 1
Ar(K, 1) = Cells(I, 3)
End If
Next
Range("g:g").ClearContents
Range("g1").Resize(K, 1) = Ar
End Sub

最佳答案
2013-5-27 13:32
  1. Sub TT()
  2. Dim I As Long, K As Long
  3. Dim Ar(1 To 10000, 1 To 1)
  4. For I = 2 To Range("AY200000").End(xlUp).Row
  5. If Cells(I, 50) <> Cells(I - 1, 50) Then
  6. K = K + 2
  7. Ar(K - 1, 1) = Cells(I, 50)
  8. Ar(K, 1) = Cells(I, 52)
  9. Else
  10. K = K + 1
  11. Ar(K, 1) = Cells(I, 52)
  12. End If
  13. Next
  14. Range("BD:BD").ClearContents
  15. Range("BD1").Resize(K, 1) = Ar
  16. End Sub
复制代码

Book1.rar

104.43 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-5-27 13:31 | 显示全部楼层
Sub TT()
    Range("A:C").Cut
    Range("AX:AZ").Select
    ActiveSheet.Paste
    Range("D:D").Cut
    Range("BD").Select
    ActiveSheet.Paste
End Sub
回复

使用道具 举报

发表于 2013-5-27 13:32 | 显示全部楼层    本楼为最佳答案   
  1. Sub TT()
  2. Dim I As Long, K As Long
  3. Dim Ar(1 To 10000, 1 To 1)
  4. For I = 2 To Range("AY200000").End(xlUp).Row
  5. If Cells(I, 50) <> Cells(I - 1, 50) Then
  6. K = K + 2
  7. Ar(K - 1, 1) = Cells(I, 50)
  8. Ar(K, 1) = Cells(I, 52)
  9. Else
  10. K = K + 1
  11. Ar(K, 1) = Cells(I, 52)
  12. End If
  13. Next
  14. Range("BD:BD").ClearContents
  15. Range("BD1").Resize(K, 1) = Ar
  16. End Sub
复制代码
回复

使用道具 举报

发表于 2013-5-27 13:40 | 显示全部楼层
本帖最后由 1032446692 于 2013-5-27 13:44 编辑

Sub TT()
    Dim I As Long, K As Long
    Dim Ar(1 To 10000, 1 To 1)
    For I = 2 To Range("AY200000").End(xlUp).Row
        If Cells(I, 50) <> Cells(I - 1, 50) Then
            K = K + 2
            Ar(K - 1, 1) = Cells(I, 50)
            Ar(K, 1) = Cells(I, 52)
        Else
            K = K + 1
            Ar(K, 1) = Cells(I, 52)
        End If
    Next
    Range("BD:BD").ClearContents
    Range("BD1").Resize(K, 1) = Ar
End Sub

评分

参与人数 1 +3 收起 理由
fangniuji + 3 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-5-27 20:53 | 显示全部楼层
来学习的                       
回复

使用道具 举报

 楼主| 发表于 2013-5-27 23:10 | 显示全部楼层
1032446692 发表于 2013-5-27 13:40
Sub TT()
    Dim I As Long, K As Long
    Dim Ar(1 To 10000, 1 To 1)

谢谢你的帮忙,谢谢!!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-14 19:44 , Processed in 0.443425 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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