复制并粘贴最后一行,错误91

我正在试图复制和粘贴范围的值范围内的最后一行,这意味着行数会有所不同,但列的数量将保持不变。

我已经写了这样做的代码继续返回错误:

对象variables或未设置块variables

这个错误是什么意思,我该如何解决?

Sub update() Dim LR As Range Dim Revise As Range LR = Cells(Rows.Count, "M").End(xlUp).Row Set Revise = Range("M1:M" & LR) Revise.Copy Sheets(Weekly).Select Cells(1,1).PasteSpecial xlPasteAll End Sub 

你的问题是:

  • 你将LR定义为Range ,它是一个对象
  • 你正试图给它赋值,而不使用Set关键字(如Set Revise
  • 如果你添加Set ,你会有一个错误13,因为你正在试图把一个数字放入一个Range! ;)

更正后的代码:

 Sub update() Dim LR As Double Dim SrcWS As Worksheet Set SrcWS = ThisWorkbook.Sheets("Sheet1") With SrcWS LR = .Cells(.Rows.Count, "M").End(xlUp).Row .Range("M1:M" & LR).Copy End With 'SrcWS ThisWorkbook.Sheets("Weekly").Cells(1,1).PasteSpecial xlPasteAll End Sub 

你有一些代码…你需要更多地处理你的技能…尝试以下方法:

 Sub update() Dim LR As Long Dim Revise As Range LR = Cells(Rows.Count, "M").End(xlUp).Row Set Revise = Range("M1:M" & LR) Revise.Copy Sheets("Weekly").Cells(1, 1).PasteSpecial xlPasteAll End sub