设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2512|回复: 4
打印 上一主题 下一主题

[基础应用] 一个EXCEL文件中有多张EXCEL表,怎么样按表名排序?

[复制链接]
跳转到指定楼层
1#
发表于 2008-11-3 15:02:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有那位知道一个EXCEL文件中有几百张EXCEL表,怎么样按表名排序?

还有就是怎么样让这些表名自已取表中某单元格内容为表名?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-11-3 18:27:00 | 只看该作者
排序没玩过
工作表名可以用代码
sub aa()
dim i as long
for i = 1 to sheets.count
sheets(i).name = sheets("某工作表").cells(i,1)
next
end sub
3#
发表于 2008-11-14 18:48:52 | 只看该作者
试试以下的代码,将你的工作簿插入一个新工作表:SheetNames. 然后运行此代码.

原理小妖同学已经给出, 工作表名写入列后,把此列数据排序,然后再用FOR移动工作表顺序.

Sub SortSheets()
Dim I As Integer, ii As Integer
Dim ShtName As String
On Error Resume Next
If ActiveWorkbook.Sheets.Count > 1 Then
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("SheetNames")
       .Columns(1).Clear
  For I = 1 To ActiveWorkbook.Sheets.Count
      .Cells(I, 1) = Sheets(I).Name
  Next

     .Columns(1).Sort Key1:=.Cells(1, 1), Order1:=xlAscending

  For ii = I - 1 To 1 Step -1
    ShtName = .Cells(ii, 1)
    ActiveWorkbook.Sheets(ShtName).Move Before:=ActiveWorkbook.Sheets(1)
  Next
End With
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
MsgBox "Worksheet sorting completed.", vbInformation
Application.ScreenUpdating = True
End If
End Sub
4#
发表于 2008-11-22 22:35:05 | 只看该作者
强人太多了~~~~~~~~~~
5#
发表于 2008-11-28 23:53:31 | 只看该作者
同意楼上的说法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 22:41 , Processed in 0.100915 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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