Excel精英培训网

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

[已解决]能否让分表根据总表中对应链接顺序调整顺序

[复制链接]
发表于 2013-3-19 11:25 | 显示全部楼层 |阅读模式
能否让分表根据总表中对应链接顺序调整顺序,详见附件。
麻烦各位VBA大神,谢谢。
最佳答案
2013-3-19 13:08
Sub test()
    Dim sh As Worksheet, A, i%
   
    Application.ScreenUpdating = False
    A = Range("a3:a" & Range("a65536").End(xlUp).Row)
    A = Application.Transpose(A)
    A = Split(Application.Trim(Join(A)))
   
    For Each sh In Sheets
        For i = 0 To UBound(A)
            If A(i) = sh.Name Then
                 sh.Move after:=Sheets(i + 1)
                Exit For
            End If
        Next i
    Next
    Sheets(1).Select
End Sub
question.rar (31.45 KB, 下载次数: 16)

question.rar

20.32 KB, 下载次数: 5

发表于 2013-3-19 12:31 | 显示全部楼层
感觉楼主要求的功能,价值不大吧

为什么总表A列里的顺序会乱
回复

使用道具 举报

 楼主| 发表于 2013-3-19 12:36 | 显示全部楼层
爱疯 发表于 2013-3-19 12:31
感觉楼主要求的功能,价值不大吧

为什么总表A列里的顺序会乱

因为总表对应着很多分表,需要根据一定的条件对总表中的数据排序,然后虽然超链接对应的分表都不变,但是需要各分表的顺序跟总表中超链接的顺序一致,因为有时要对批量分表(也就是总表排序后)移动到另一张工作簿中。
回复

使用道具 举报

发表于 2013-3-19 13:08 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim sh As Worksheet, A, i%
   
    Application.ScreenUpdating = False
    A = Range("a3:a" & Range("a65536").End(xlUp).Row)
    A = Application.Transpose(A)
    A = Split(Application.Trim(Join(A)))
   
    For Each sh In Sheets
        For i = 0 To UBound(A)
            If A(i) = sh.Name Then
                 sh.Move after:=Sheets(i + 1)
                Exit For
            End If
        Next i
    Next
    Sheets(1).Select
End Sub
question.rar (31.45 KB, 下载次数: 16)
回复

使用道具 举报

 楼主| 发表于 2013-3-19 13:14 | 显示全部楼层
爱疯 发表于 2013-3-19 13:08
Sub test()
    Dim sh As Worksheet, A, i%
   

本来还以为不能实现,谢谢大师。

点评

我只是个爱好者  发表于 2013-3-19 13:17
回复

使用道具 举报

 楼主| 发表于 2013-3-19 15:29 | 显示全部楼层
爱疯 发表于 2013-3-19 13:08
Sub test()
    Dim sh As Worksheet, A, i%
   

不好意思老师,这个代码执行起来速度有点慢,最重要的是当总表中链接顺序变动很多的时候(千份工作表),工作表顺序调整不能一次性完成。不知能否改善?
回复

使用道具 举报

发表于 2013-3-19 16:40 | 显示全部楼层
as0810114 发表于 2013-3-19 15:29
不好意思老师,这个代码执行起来速度有点慢,最重要的是当总表中链接顺序变动很多的时候(千份工作表), ...

这个我没什么办法。

你说的这个工作簿,文件有多大?方便上传吗?

其中,用了函数的吗?

其中,有没有很多图片或对象?
回复

使用道具 举报

 楼主| 发表于 2013-3-19 16:44 | 显示全部楼层
爱疯 发表于 2013-3-19 16:40
这个我没什么办法。

你说的这个工作簿,文件有多大?方便上传吗?

算了吧,多执行一两次也可以解决。谢谢老师。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 07:55 , Processed in 0.372010 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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