复制并粘贴最后一行,错误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