从第二行复制一列数据,直到其中有数据的最后一行,并将其作为最后一行粘贴到另一张工作表VBA上

时间:2019-11-14 18:53:13

标签: excel vba

我正在研究VBA代码,以将数据从第二个单元格“ A2”复制到包含数据的最后一个单元格(此范围将更改)。然后,我想将这些数据从另一列的A列的最后一行开始粘贴。

到目前为止,我的VBA代码似乎无能为力。有人可以帮我找出原因吗?

Option Explicit

Public Sub AddNotes()

Dim lastRow1 As String
Dim lastRow2 As String

lastRow1 = Sheets("PropertiesToMatch").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("PropertiesToMatch").Range("A2" & lastRow1).Copy

lastRow2 = Sheets("PropertyNotesToUpload").Cells(Rows.Count, "A").End(xlUp).Row + 1
Sheets("PropertyNotesToUpload").Range("A" & lastRow2).PasteSpecial Paste:=xlPasteValues

End Sub

2 个答案:

答案 0 :(得分:3)

更改

.Range("A2" & lastRow1)

.Range("A2:A" & lastRow1)

第一个只是一个单元格,第二个是您想要的范围。

还可以更改

Dim lastRow1 As String
Dim lastRow2 As String

Dim lastRow1 As Long
Dim lastRow2 As Long

因为Range.RowLong,而不是String

答案 1 :(得分:-2)

Option Explicit

Sub CopyPaste()
Dim i, j As Integer
Dim LastRow As Integer

With Sheets("PropertiesToMatch")
    LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
End With
j = 2

For i = LastRow To 2 Step -1
Sheets("PropertiesToMatch").Cells(i, 1).Copy
Sheets("PropertyNotesToUpload").Cells(j, 1).PasteSpecial Paste:=xlPasteValues

j = j + 1
Next i

End Sub