我正在尝试根据范围中的最后一行复制和粘贴一系列值,这意味着行数会有所不同,但列数将保持不变。
我写的代码继续返回错误:
对象变量或未设置块变量
这个错误是什么意思,我该如何解决?
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
答案 0 :(得分:2)
你的问题是:
LR
定义为Range
,这是一个对象Set
关键字(例如Set Revise
)Set
,则会出现错误13,因为您正在尝试将数字放入范围! ;)更正后的代码:
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
答案 1 :(得分:0)
你有一些代码......你需要更多地掌握你的技能......尝试以下方法:
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