VBA异常--运行时错误1004(将一个工作簿拆分多个工作表)

来源:互联网 发布:韩国进出口数据 编辑:程序博客网 时间:2024/06/05 16:13

概述:

打算将工作簿拆分多个工作表,抛出异常


原因是这个工作簿中有隐藏的工作表,对于Copy操作,它是不能复制隐藏的工作表的,但是Worksheets是所有工作表的集合(自然有隐藏工作表)

最后的解决办法就是取消隐藏所有工作表,或者进行判断如果是隐藏工作表就过滤掉

if sht.Visible  = True then    

执行复制动作

End if 

Sub saveToFile()    '把各个工作表以单独的工作簿文件保存在本工作簿所在文件夹下的“班级成绩表”文件夹中    Application.ScreenUpdating = False            '取消屏幕更新    Dim folder As String    folder = ThisWorkbook.Path & "\班级成绩表"    '如果文件夹不存在,新建文件夹    If Len(Dir(folder, vbDirectory)) = 0 Then MkDir folder    Dim sht As Worksheet    For Each sht In Worksheets       If sht.Visible = True Then          sht.Copy          ActiveWorkbook.SaveAs folder & "\" & sht.Name & ".xls"          ActiveWorkbook.Close        End If    Next    Application.ScreenUpdating = True            '开启屏幕更新End Sub

阅读全文
0 0
原创粉丝点击