Excel精英培训网

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

[已解决]麻烦grf1973 老师帮忙修改红色标识代码,谢谢!

[复制链接]
发表于 2017-2-16 19:32 | 显示全部楼层 |阅读模式
本帖最后由 love_liwu 于 2017-2-18 09:21 编辑

跟[已解决]麻烦老师帮忙看看,如何才能实现?类似,不同的地方是: 疑问.zip (50.71 KB, 下载次数: 4)
发表于 2017-2-16 23:17 | 显示全部楼层    本楼为最佳答案   
本帖最后由 shjarthur 于 2017-2-16 23:47 编辑

看了下,只是原表列的顺序发生了变化,这样改动最简单的方法就是在写入前直接对调顺序。
    ReDim brr(1 To UBound(xrr), 4 To UBound(arr, 2))
    For i = 1 To UBound(xrr)
        For j = 4 To UBound(arr, 2)
            brr(i, j) = arr(xrr(i), j)
        Next
    Next
    For i = 1 To UBound(brr)
        xx = brr(i, 4)
        brr(i, 4) = brr(i, 5)
        brr(i, 5) = xx
        xx = brr(i, 6)
        brr(i, 6) = brr(i, 7)
        brr(i, 7) = xx
    Next

    .[b8].Resize(i - 1, j - 4) = brr
在现有代码中插入以上红色部分即可。
回复

使用道具 举报

 楼主| 发表于 2017-2-17 10:17 | 显示全部楼层
shjarthur 发表于 2017-2-16 23:17
看了下,只是原表列的顺序发生了变化,这样改动最简单的方法就是在写入前直接对调顺序。
    ReDim brr(1  ...

好的,谢谢老师,我看看。
回复

使用道具 举报

 楼主| 发表于 2017-2-18 10:35 | 显示全部楼层
本帖最后由 love_liwu 于 2017-2-18 10:36 编辑
shjarthur 发表于 2017-2-16 23:17
看了下,只是原表列的顺序发生了变化,这样改动最简单的方法就是在写入前直接对调顺序。
    ReDim brr(1  ...

再问老师,如果不是相邻的,代码可否这么写?

brr(i,5)=brr(i,8)
brr(i,6)=brr(i,10)
回复

使用道具 举报

发表于 2017-2-18 17:11 | 显示全部楼层
love_liwu 发表于 2017-2-18 10:35
再问老师,如果不是相邻的,代码可否这么写?

brr(i,5)=brr(i,8)

不是相邻的,做法也一样,只要互换对应两列的位置即可,比如5列和8列交换
For i = 1 To UBound(brr)
    xx = brr(i, 5)
    brr(i, 5) = brr(i, 8)
    brr(i, 8) = xx
Next
回复

使用道具 举报

 楼主| 发表于 2017-2-20 22:09 | 显示全部楼层
shjarthur 发表于 2017-2-18 17:11
不是相邻的,做法也一样,只要互换对应两列的位置即可,比如5列和8列交换
For i = 1 To UBound(brr)
   ...

谢谢老师,请老师再帮我看看:
再问老师,请问这个如何修改?
http://www.excelpx.com/thread-427869-1-1.html
(出处: Excel精英培训网)

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 00:11 , Processed in 0.569872 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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