下面代码中这句 sht.Delete 不执行 请修改Sub removeExtraSheets() ' 删除指定名(1个或几个指定表名)以外的所有工作表' remove extra sheets from workbook to prepare deliverable '移除 extra表单集合from工作簿到preparedeliverableDim sht As Worksheet '定义变量 sht 为 工作表 Application.DisplayAlerts = False '关闭警告信息显示 For Each sht In Worksheets '设定变量范围为每一个 sht位于工作表集合 If sht.Name <> "模板" And sht.Name <> "数据源" Then' sht.Name <> "2" And _' sht.Name <> "3" And _' sht.Name <> "4" And _' sht.Name <> "5" And _' sht.Name <> "6" And _' sht.Name <> "7" And _' sht.Name <> "8" And _' sht.Name <> "9" And _' sht.Name <> "10" And _' sht.Name <> "11" Then sht.Delete ' 运行错误‘1004’ 方法‘Delete'作用于对象’-Worksheet'时失败。 End If Next sht Application.DisplayAlerts = True '开启警告信息显示 Sheets("Raw Data").Range("A1").Select '<工作表>("Raw Data" )的<单元格>区域("A1" )的选定End Sub '子程序结束
sht.Delete不执行原因是工作簿中没有模板和数据源这两个工作表。另外Sheets(RawData).Range(A1).Select工作表(RawData)的单元格区域(A1)的选定是错误的。因为上面语句已经将RawData工作表删除了。