Excel精英培训网

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

[已解决]承接式复制VBA“提示运行时错误9 下越标届”

[复制链接]
发表于 2013-9-2 23:02 | 显示全部楼层 |阅读模式
本帖最后由 icenotcool 于 2013-9-2 23:33 编辑

各位老师,我想把表一个接一个黏贴,先是表内之间,然后是工作簿之间黏贴,谢谢大家了

Sub 保存()
    With ("科室填写表打印版")
UnprotectPassword:="123456"
Worksheets("科室填写表打印版").Range("a3:f93").Copy
    Worksheets("数据库").Range("a1").PasteSpecial xlPasteValues
       Call Copy
       Dim wkbk As Workbook, wk As Workbook
    Set wk = ThisWorkbook
     Set wkbk = Workbooks.Open(ThisWorkbook.Path & "\超时加班费月度汇总.xls")
   wkbk.Sheets("数据库").Cells.Copy wk.Sheets("急诊科").[a2]
Workbooks(ThisWorkbook.Path & "\超时加班费月度汇总.xls").Close '关闭
Protect Password:="123456"
End With
End Sub
附件 问题.rar (274.9 KB, 下载次数: 7)
发表于 2013-9-2 23:54 | 显示全部楼层
Workbooks(ThisWorkbook.Path & "\超时加班费月度汇总.xls").Close '关闭
这句有误,在工作簿集合中引用某个工作簿时,只需要用到工作簿的文件名,不需要完整路径。

Workbooks("超时加班费月度汇总.xls").Close false '关闭
或者
wkbk.close false
回复

使用道具 举报

 楼主| 发表于 2013-9-3 00:13 | 显示全部楼层
本帖最后由 icenotcool 于 2013-9-3 00:14 编辑

老师,我是想复制到那个文件里去,但是我还想同时复制到同工作簿内的那个数据库表里去,我单独可以复制,但是为何把这2个连在一起就是不行呢?帮我改改好吗?
Sub 保存()
  Worksheets("科室填写表打印版").Range("a3:f93").Copy
    Worksheets("数据库").Range("a1").PasteSpecial xlPasteValues
       Call Copy
    Workbooks.Open (ThisWorkbook.Path & "\超时加班费月度汇总.xls")
      ThisWorkbook.Sheets("科室填写表打印版").Range("a3:f93").Copy
  Sheets("急诊科").Range("a1").PasteSpecial xlPasteValues
ActiveWorkbook.Close True
End Sub
回复

使用道具 举报

发表于 2013-9-3 07:01 | 显示全部楼层
icenotcool 发表于 2013-9-3 00:13
老师,我是想复制到那个文件里去,但是我还想同时复制到同工作簿内的那个数据库表里去,我单独可以复制,但 ...

这个CALL COPY哪来的?
回复

使用道具 举报

发表于 2013-9-3 07:09 | 显示全部楼层    本楼为最佳答案   
CALL COPY是直接把工作表复制到一个新的工作簿里。
你上面的代码也没问题啊。
你把问题说明白就成了。

工作表 科室填写表打印版 的数据不是同时复制到了两个工作簿内嘛。
  1. Sub 保存()
  2.     Worksheets("科室填写表打印版").Range("a3:f93").Copy
  3.     Worksheets("数据库").Range("a1").PasteSpecial xlPasteValues
  4.     'Call Copy
  5.     Workbooks.Open (ThisWorkbook.Path & "\超时加班费月度汇总.xls")
  6.     ThisWorkbook.Sheets("科室填写表打印版").Range("a3:f93").Copy
  7.     Sheets("急诊科").Range("a1").PasteSpecial xlPasteValues
  8.     ActiveWorkbook.Close True
  9.     Application.CutCopyMode = False
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-9-3 12:03 | 显示全部楼层
谢谢,测试成功,老师辛苦了
回复

使用道具 举报

 楼主| 发表于 2013-9-3 13:06 | 显示全部楼层
本帖最后由 icenotcool 于 2013-9-3 22:58 编辑

hwc2ycy老师,可以补充一个问题吗?不好意思,再麻烦你一下,假如我要反过来一对多改怎么改呢,如我在“资料更新”工作簿里“封面”sheet里“资料更新”按钮,功能设置:将“资料更新”工作簿里“考勤名单”和“夜班名单”2个sheet分别复制到覆盖该目录下所有以科室为名称的工作簿里的对应“考勤名单”和“夜班名单”2个sheet,(老师,还有补充一下条件就是每个被更新的科室名称工作簿里的“考勤名单”和“夜班名单”2个sheet都是隐藏条件状态下的)附件谢谢啊,看附件 问题3(含数据).rar (64.1 KB, 下载次数: 1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 07:34 , Processed in 0.385122 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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