分享

文件夹下的所有工作簿内和所有工作表目录

 正争 2014-10-20
'在文件夹内新建一个表,复制粘贴此代码,运行宏。

Sub OPIONA()
'On Error Resume Next
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Application.ScreenUpdating = False '关闭屏幕刷新
Application.DisplayAlerts = False '关闭提示
If MsgBox("需要操作的数据表是:EXCEL2003 格式,请选择:是!" & Chr(13) & "" & Chr(13) & "需要操作的数据表是:EXCEL2007 格式,请选择:否!", vbYesNo, "北极狐提示!!") = vbYes Then
S = "\*.xls"
ss = 4
Else
S = "\*.xlsx"
ss = 5:
End If
t = Timer '记录开始时间
f = Dir(ThisWorkbook.Path & S) '生成查找EXCEL的目录
n = 2 '开始记录工作簿名和工作表名的开始行
Do While f > " " '在目录中循环
If f <> ThisWorkbook.Name Then '如果不是打开的工作簿
Set xlBook = Workbooks.Open(ThisWorkbook.Path & "\" & f) '打开已经存在的EXCEL工件簿文件
For Each sh In xlBook.Worksheets '遍历工作表
Windows(ThisWorkbook.Name).Activate '回到操作主表界面
If n = 2 Then Sheets(1).Cells(1, 1) = "工作簿名": Sheets(1).Cells(1, 2) = "工作表名": '加入标题行
Sheets(1).Cells(n, 1) = Mid(f, 1, Len(f) - ss) '所在工作簿名
Sheets(1).Cells(n, 2) = sh.Name '所在工作表名
n = n + 1
Next
Windows(f).Close (False) '关闭工作簿,不保存
End If
f = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "一共用时:" & Timer - t & " 秒", , "北极狐提示!!"

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多