excel - 如何将数据范围复制到另一个工作表的最后一行?
问题描述
我正在尝试将另一工作表中的一行复制到我的数据跟踪表的最后一行。
我得到应用程序定义或对象定义错误。
Sub Macro1()
Dim i As Integer
Dim A As Integer
Range("A20:AB20").Select
Selection.Copy
Application.WindowState = xlNormal
Windows("master tracking sheet.xlsm").Activate
i = Worksheets("Recieved Results").cells(Rows.Count, 1).End(xlUp).Row
A = i + 1
Selection.End(A).Select
Range(A).Select
ActiveSheet.Paste
End Sub
解决方案
你不需要使用像Select
or之类的东西Activate
。由于您可以在 VBA 中将事物声明为对象,因此您可以使用它来执行大多数操作,而无需使用其中任何一个。试试下面的代码:
Sub CopyFromOneSheetToAnother()
Dim oCopyFromWS As Worksheet: Set oCopyFromWS = ThisWorkbook.Worksheets("Sheet3") '<- Change the sheet name to the sheet you want to copy from
Dim oCopyToWS As Worksheet: Set oCopyToWS = ThisWorkbook.Worksheets("Sheet4") '<- Change the sheet name to the sheet you want to copy to
Dim iLR As Long: iLR = oCopyToWS.Cells(oCopyToWS.Rows.Count, 1).End(xlUp).Row + 1
oCopyFromWS.Range("A20:AB20").Copy oCopyToWS.Range("A" & iLR)
End Sub
推荐阅读
- react-google-maps - react-google-maps:如何在父组件中使用 fitBounds API
- r - 为什么我的 R 箱线图中的变量不能反映我的实际数据?
- javascript - Chrome 中的 ES6 模块
- c++ - 在测试中使用部分初始化的对象
- php - 带有 iis 的服务器中的路由问题
- javascript - IE 和 Firefox 渲染不正确,但在 Chrome、Safari 和 Chromium 浏览器中不正确
- vim - 在 vim 中打开与模式匹配的所有折叠
- excel - (Workbooks.Open) 不像正常打开那样工作
- c - GCC 在 MinGW 的 stdio.h 中发现错误
- jenkins - 使用 install-plugin 命令安装特定版本的插件