2016-12-16 122 views
0

我正在寻找如何复制数据范围,直到非空行/空行。例如,我有列A上的数据列表直到G.我想复制这些范围上的数据直到最后一行。我有代码,可以找到最后一行如下:Excel VBA - 复制范围为非空行

Sheets("REFS").Range("E1").End(xlDown).Select 
    Rows(Selection.Row).Select 
    Selection.Copy 

    Sheets("TP1").Range("A2").PasteSpecial xlPasteValues 
+1

先找到你以前张贴的问题发表评论的时间,并给予反馈 –

+0

@ShaiRado哪一个?因为我主要检查我是否答复或评论自己,如果我找到答案。 – Jeeva

回答

2

这是它。我这里测试,它似乎工作

Sub CopyAllRows() 
    Dim j As Long 

    Dim refs As Worksheet 
    Set refs = Sheets("REFS") 

    Dim tp1 As Worksheet 
    Set tp1 = Sheets("TP1") 

    Dim src As Variant 

    j = refs.Range("E1").End(xlDown).Row 
    src = refs.Range("A1:G" & j).Value 
    tp1.Range("A2:G" & j + 1).Value = src 

End Sub 
+0

老兄,你是救命恩人! – Jeeva

+0

就像一个人一样,有一个“我一样长”,但没有使用。你可以删除它。我编辑帖子修复代码 – Moacir

+0

没问题。弄清楚了。 – Jeeva