繁体   English   中英

将单元格从工作簿复制到工作簿将导致“下标超出范围”

[英]Copying Cells from Workbook to Workbook Results in “Subscript Out of Range”

美好的一天。

我正在尝试编写一个代码,该代码实际上将从“ A-M”和(向下)直到最后使用的行中选择单元格(从左到右)。
然后,一旦选择,我要将它们复制到另一个工作簿。

这是我尝试使用的代码:

ActiveWorkbook.Worksheets("Sheet1").Range("A1:M" & LastRow).Copy _
    Workbooks("Converter.xlsm").Worksheets("Sheet1").Range("A1").CurrentRegion

除此行外,代码中的所有其他内容均有效。
结果是这样的:

Run-time error '9':

Subscript out of range

谢谢。

PS。 我使用的“ LastRow”变量,只是将其从教程中删除。 那不是个人用户定义的变量,所以我不确定这是否实际上来自VBA的文档。

您提到您没有LastRow的计算。

  1. 始终将Option Explicit放在模块顶部。 它迫使您声明变量,并帮助您识别从另一个编码器获得的内容是否“内置”。
  2. 有关确定范围的最后一行的信息,请参见这篇文章
  3. 从那篇文章开始,您应该在代码行之前进行如下计算:

     LastRow = Sheets("Sheet1").Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row 

请关闭所有工作簿并重新打开,然后尝试以下代码

Sub test()
    Dim lastrow As Long
    lastrow = Range("A" & Rows.Count).End(xlUp).Row
    ActiveWorkbook.Worksheets("Sheet1").Range("A1:M" & lastrow).Copy Workbooks("Converter.xlsm").Worksheets("Sheet1").Range("A1")
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM