excel - 在工作簿和工作表之间复制
问题描述
我正在尝试将动态范围从一个 workbook1 sheet1 复制到 workbook2 sheet2。该代码有效,但仅当我激活 workbook1 sheet1 时,如果我激活 workbook1 sheet2,则代码失败。
我的代码是:
Sub CopyOrders()
Dim wB1 As Worksheet
Set wB1 = Workbooks("Master.xlsx").Worksheets("Data")
Dim RngCe1 As Range
Set RngCe1 = wB1.Cells(Rows.Count, "B").End(xlUp).Offset(0, 11)
Dim RngCe2 As Range
Set RngCe2 = wB1.Range("A1:A7000").FIND("Grand Total", LookAt:=xlPart).Offset(-1, 23)
Dim NewRng As Range
Set NewRng = Range(RngCe1.Address & ":" & RngCe2.Address)
Dim wB2 As Worksheet
Set wB2 = Workbooks("Report.xlsx").Worksheets("Orders")
Dim DesRng As Range
Set DesRng = wB2.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(, 12)
NewRng.Copy
DesRng.PasteSpecial xlPasteValues
End Sub
解决方案
问题出在这里:
Set DesRng = wB2.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(, 12)
您无需Rows.Count
在此处指定工作表,否则将使用活动工作表。所以wB2.Rows.Count
会做的伎俩。
仍然:您正在定义工作表变量并将它们称为 w B 2。为了清楚起见,考虑将它们重命名为 w S 2。
推荐阅读
- vba - 如何使用带有行号递增的 VBA .Formula?
- service - 在 service.xml 添加新表时出错 - Liferay 6.2
- html - Angular 10 我该如何解决这个问题:尝试区分“[object Object]”时出错。仅允许使用数组和可迭代对象
- node.js - 如何缓存所有成员?Discord.Js
- c - 如何正确尊重作为地址传递给函数的 char** 指针?
- python-3.x - 如果单元格不为空,则 if - else 函数用于计算值
- python - Python - 为多个文件约定导入许多库
- cpu-architecture - 就绪/有效 vs 2 次握手 vs 4 次握手
- php - php Youtube 从 live_stream 获取视频 id
- c# - 存储用户特定的连接字符串以供以后在 ASP.NET Web API 中使用