ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1201|回复: 3

[求助] 复制工作簿提示方法select作用于对象range时失败,录制宏运行时也是.

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-6-13 15:57 | 显示全部楼层 |阅读模式
本帖最后由 呵和合 于 2023-6-14 11:40 编辑

简单说下需求,每天有一个表格通过vba在几个系统导出的表格中提出数据,然后将更新后的工作薄追加到另一个表格最后的工作薄后面,新的工作薄以日期开头,我之前做的很多,复制工作薄时用下面这段代码都没有问题,唯独新作了一个这段代码运行时就会出现“方法select作用于对象range时失败”这个提示,复制代码如下
  1. Set wb = Workbooks.Open("Y:\23年粽子每日报表\粽子销量.xlsx")
  2.     Dim xx1 As String
  3.     xx1 = Year(Now()) & "." & Month(Now()) & "." & Day(Now() - 1)
  4.     wb.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = xx1 & "散粽销量"
  5.     ThisWorkbook.Sheets("单日散粽销量").Activate
  6.     Cells.Select
  7.     Selection.Copy
  8.     '保持列宽粘贴
  9.     wb.Sheets(xx1).Activate
  10.     Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
  11.     Range("A1").Select
  12.     ActiveSheet.Paste
  13.     wb.Close
复制代码
原表的这4个工作薄是需要复制的: 360截图20230613154821133.jpg

复制后的报表之中一个格式这样: 360截图20230613153515304.jpg ,另一个跟这个一样,但是问题是在测试复制一个工作薄时就报错了,其它文件也有类似操作同样代码就不会报错,这个不仅报错,而且假如录制宏进行复制操作,在运行宏时同样出现这个提示,研究了一上午都不知道原因,最后换了种方式才实现,但是我还是想知道这是为什么。换的代码如下:
  1.   a = ActiveWorkbook.Name
  2.     Dim xx1 As String
  3.     xx1 = Year(Now()) & "." & Month(Now() - 1) & "." & Day(Now() - 2)
  4.     xx2 = Year(Now()) & "." & Month(Now() - 1) & "." & Day(Now() - 1)
  5.     Set wb = Workbooks.Open("Y:\23年粽子每日报表\粽子销量.xlsx")
  6.     Dim biaodan()
  7.     biaodan = Array("单日礼盒销量", "单日散粽销量")
  8.     For Each bd In biaodan
  9.         Windows(a).Activate
  10.         Sheets(bd).Copy after:=wb.Sheets(xx1 & "礼盒销量")
  11.     Next
  12.     wb.Sheets("单日散粽销量").Name = xx2 & "散粽销量"
  13.     wb.Sheets("单日礼盒销量").Name = xx2 & "礼盒销量"
  14.     ActiveWorkbook.Save
  15.     ActiveWorkbook.Close
复制代码

TA的精华主题

TA的得分主题

发表于 2023-6-16 05:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wb.Sheets(xx1).Activate
xxl是一个没有汉字的纯日期字符串,wb工作簿中没有纯日期名称的工作表吧?

TA的精华主题

TA的得分主题

发表于 2023-6-16 14:47 | 显示全部楼层
没有附件不好判断。估计问题处在这里 image.png

TA的精华主题

TA的得分主题

发表于 2023-6-16 15:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
附件发上来
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 16:47 , Processed in 0.029502 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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