Vba 获取sheet1中最后填充的列,并将sheet2中的数据复制到sheet1
我有两张床单 第1页和第2页 我的数据在表2中。图纸1已经包含第4行之前的数据 我想将表2中的所有数据从第5行复制到第4行后的表1 我尝试了下面的代码。但是每次我运行代码时。它被随机复制到114行,有时复制到第1000行 这是我用来复制的代码Vba 获取sheet1中最后填充的列,并将sheet2中的数据复制到sheet1,vba,excel,Vba,Excel,我有两张床单 第1页和第2页 我的数据在表2中。图纸1已经包含第4行之前的数据 我想将表2中的所有数据从第5行复制到第4行后的表1 我尝试了下面的代码。但是每次我运行代码时。它被随机复制到114行,有时复制到第1000行 这是我用来复制的代码 Sub FClookup() Dim LastRow As Long 'get last row LastRow = Worksheets("Sheet1").Cells(Rows.count, 1).End(xlUp).Row
Sub FClookup()
Dim LastRow As Long
'get last row
LastRow = Worksheets("Sheet1").Cells(Rows.count, 1).End(xlUp).Row
Worksheets("Sheet2").Range("A5:W1000").Copy _
Destination:=Worksheets("Sheet1").Range("A" & LastRow + 1)
End Sub
以下内容应满足您的要求。代码假定Sheet2中的A列始终已填充,并将从Sheet2中的A列到D列的所有数据复制到Sheet1中的下一个空闲行(检查A列)
LastRow的值是多少?也许有些单元格看起来是空的,但有隐藏的内容?@SJR它显示1048576这是电子表格的最后一行,所以这就是你的问题所在。我将清除整个列的内容,然后运行宏。@SJR我也将尝试您的解决方案:)@SJR我完全删除了工作表,并使用了另一个工作表,使用了相同的宏,它工作了:)
Option Explicit
Sub CopyStuff()
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
ws2.Range("A5:D" & ws2.Range("A5").End(xlDown).Row).Copy
ws1.Range("A" & ws1.Range("A1").End(xlDown).Row + 1).PasteSpecial xlValues
End Sub