我正在尝试根据范围中的最后一行复制和粘贴一系列值,这意味着行数将有所不同,但列数将在所有方面保持不变。

我为此编写的代码继续返回错误:



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

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,因为您正尝试将数字放入范围! ;)

  • 更正的代码:
    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
    

    关于vba - 使用最后一行复制和粘贴,错误91,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42812924/

    10-10 18:47