复制并粘贴用户定义的范围

时间:2017-03-13 15:35:11

标签: excel vba excel-vba

有人可以帮我复制并粘贴用户定义的范围。我有以下但由于某种原因在尝试执行操作时遇到错误。我怀疑我错过了一个微小的变化。感谢。

Sheets("Sheets1").Select
Dim lngLastRow2 As Long

lngLastRow2 = Cells(Rows.Count, "A").End(xlUp).Row

Worksheets("Sheets2").Range("A3:A" & lngLastRow).Copy _
Destination:=ActiveSheet.Range(lngLastRow2)

1 个答案:

答案 0 :(得分:1)

你的确有错误:

Destination:=ActiveSheet.Range(lngLastRow2)

评估为.Range(x),其中x为某些LongRange需要的是.Range("A20")

一种解决方案是将其更改为

Destination:=ActiveSheet.Range("A" & lngLastRow2)

或另一种解决方案是改为使用Range变量:

Dim lastRow As Range
Set lastRow = ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)
With ThisWorkbook.Worksheets("Sheet2")
    .Range("A3:A" & lastRow.Row).Copy Destination:=.Range(lastRow.Address)
End With