我正在尝试从工作簿中复制数据并将其粘贴到另一个工作簿中。 我希望它能够复制特定范围,直到包含数据的最后一个单元格。
这是我到目前为止所得到的,但它给了我一个'下标超出范围'错误。
Sub BackLog()
With Workbooks("Backlog Query AHSI").Worksheets("Sheet1")
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
End With
ThisWorkbook.Worksheets("Data").Range("A2:A" & lastRow).Value = Workbooks("Backlog Query AHSI").Worksheets("Sheet1").Range("A2:A" & lastRow).Value
ThisWorkbook.Worksheets("Data").Range("L2:L" & lastRow).Value = Workbooks("Backlog Query AHSI").Worksheets("Sheet1").Range("X2:X" & lastRow).Value
ThisWorkbook.Worksheets("Data").Range("M2:AH" & lastRow).Value = Workbooks("Backlog Query AHSI").Worksheets("Sheet1").Range("L2:AG" & lastRow).Value
End Sub
答案 0 :(得分:0)
如果您使用复制,则只需为目标指定一个单元格:
Workbooks("Order Query AHSI").Worksheets("Sheet1").Range("A2:A" & lastRow).Copy ThisWorkbook.Worksheets("Data").Range("A2")
答案 1 :(得分:0)
哪一行会出错?
ThisWorkbook.Worksheets(“Data”)。Range(“A2:A”& lastRow).Value = 工作簿(“订单查询AHSI”)。工作表(“Sheet1”)。范围(“A2:A”& lastRow)。Value - user3324221 14分钟前此时lastRow的值是多少? 这是1245
您是否在当前工作簿中有一个名为Data的工作表?啊...我在工作表名称中输入了一个拼写错误。意外地输入“Daata”。
我总是发现VBA错误'下标超出范围'让我走错了轨道,因为它立即让我查找超出范围的数字下标。但是在这种情况下,只是找不到命名的Sheet。