Excel精英培训网

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

[已解决]怎样将工作簿的指定工作表另存?

[复制链接]
发表于 2013-1-27 11:16 | 显示全部楼层 |阅读模式
本帖最后由 1091126096 于 2013-1-27 11:19 编辑

求代码:工作簿名为成绩统计,怎样将工作簿的指定工作表(部分)另存?并且要清除工作表事件代码。
最佳答案
2013-1-27 16:33
我不知道你是怎么调用的,我这测试是OK的。
  1. Sub 清除代码()
  2.     Dim vbc
  3.     Dim vbe As Object
  4.     Set vbe = ActiveWorkbook.VBProject.VBComponents
  5.     For Each vbc In vbe
  6.         With vbc.CodeModule
  7.             .DeleteLines 1, .CountOfLines
  8.         End With
  9.     Next
  10. End Sub

  11. Sub test()
  12.     ActiveSheet.Copy
  13.     Call 清除代码
  14. End Sub
复制代码
你可以在自己的测试。
发表于 2013-1-27 11:26 | 显示全部楼层
简单的办法,复制要的数据,然后新增加一个工作簿,沾贴。
这样就不会有代码。
回复

使用道具 举报

发表于 2013-1-27 11:26 | 显示全部楼层
回复

使用道具 举报

发表于 2013-1-27 11:28 | 显示全部楼层
worksheets的copy方法不指定参数就是复制到一个新工作簿。
里面的代码也可以用代码删除。
回复

使用道具 举报

 楼主| 发表于 2013-1-27 11:30 | 显示全部楼层
hwc2ycy 发表于 2013-1-27 11:28
worksheets的copy方法不指定参数就是复制到一个新工作簿。
里面的代码也可以用代码删除。

Sheets("查看统计表").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("语文").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("数学").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("英语").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("物理").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("化学").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("生物").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("政治").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("历史").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("地理").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("等级分").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("及格与优秀").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("全科").Copy Before:=Workbooks("九年级.xls").Sheets(1)
      Sheets("前200名").Copy Before:=Workbooks("九年级.xls").Sheets(1)

这段代码只能运行第1行,请帮忙诊断。
回复

使用道具 举报

发表于 2013-1-27 11:34 | 显示全部楼层
复制过去后,焦点应该转称到了九年级工作簿了。
九年级里肯定没有语文,数学这些工作表吧。

回复

使用道具 举报

发表于 2013-1-27 11:42 | 显示全部楼层
清除活动工作簿内的代码
  1. Sub 清除代码()
  2.     Dim vbc
  3.     Dim vbe As Object
  4.     Set vbe = ActiveWorkbook.VBProject.VBComponents
  5.     For Each vbc In vbe
  6.         With vbc.CodeModule
  7.             .DeleteLines 1, .CountOfLines
  8.         End With
  9.     Next
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-1-27 11:43 | 显示全部楼层
hwc2ycy 发表于 2013-1-27 11:34
复制过去后,焦点应该转称到了九年级工作簿了。
九年级里肯定没有语文,数学这些工作表吧。

对,活动工作簿变化了。谢谢指点。
回复

使用道具 举报

 楼主| 发表于 2013-1-27 11:52 | 显示全部楼层
hwc2ycy 发表于 2013-1-27 11:34
复制过去后,焦点应该转称到了九年级工作簿了。
九年级里肯定没有语文,数学这些工作表吧。

那该怎么处理呢?请指教。                  
回复

使用道具 举报

发表于 2013-1-27 11:56 | 显示全部楼层
加THISWORKBOOK.前缀。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:33 , Processed in 0.306588 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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