Vba 复制并粘贴用户定义的范围
有人能帮我复制和粘贴一个用户定义的范围吗。我有以下内容,但由于某些原因,在尝试执行操作时出错。我想我少了一点零钱。谢谢Vba 复制并粘贴用户定义的范围,vba,excel,Vba,Excel,有人能帮我复制和粘贴一个用户定义的范围吗。我有以下内容,但由于某些原因,在尝试执行操作时出错。我想我少了一点零钱。谢谢 Sheets("Sheets1").Select Dim lngLastRow2 As Long lngLastRow2 = Cells(Rows.Count, "A").End(xlUp).Row Worksheets("Sheets2").Range("A3:A" & lngLastRow).Copy _ Destination:=ActiveSheet.Ran
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)
您在此处确实有一个错误:
Destination:=ActiveSheet.Range(lngLastRow2)
其计算结果为.Range(x)
,其中x是一些长
。Range
需要的是类似于.Range(“A20”)
的东西
一个解决方案是将其更改为
Destination:=ActiveSheet.Range("A" & lngLastRow2)
或者另一种解决方案是使用范围
变量:
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
您的目标区域需要一个列引用,当前您只有一行。根据我从您那里得到的信息,它只复制了一列数据。我要做的是确定工作表1上的最后一行数据(存储该数据),确定工作表2上的最后一行,然后从开始到工作表2上的最后一行复制所有数据到工作表1中,从第一个空白行开始。很明显,我需要的是所有在第2页上有数据的列,而不仅仅是第一列。我曾考虑过确定最后一行数据,然后确定最后一列数据,如下所述,但似乎我正在使其变得更加复杂。