复制合并单元格和excel-macro

时间:2018-04-12 01:02:48

标签: excel vba excel-vba

早安编程大师!我是excel-macro或vba的初学者。 我在复制excel合并单元格时遇到问题也在获取整行。

所以这是我获取第一张纸的第一列并将其转移到另一张纸上的代码。

Sub cmdCopy()


Dim lastrow As Long, erow As Long, xNumber As Integer

lastrow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
For i = 5 To lastrow

Sheet2.Cells(i, 1).Copy
erow = Sheet4.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

Sheet2.Paste Destination:=Sheet4.Cells(erow, 1)

Next i

Application.CutCopyMode = False
Range("A1").Select

End Sub

此外,我想按列日期排序,但我不知道如何执行它。这是excel文件的实际照片。

[这是行将获得的地方]

[这一行是行的目的地]

我知道有人有能力这样做。请大家,救救我!

1 个答案:

答案 0 :(得分:0)

试试这个:这应该复制你在第一个范围内的单元格(sheet2)并将其粘贴到下一个工作表(sheet4)中列的末尾,然后返回到Sheet2中的下一个单元格并将其放入您刚刚粘贴到Sheet4中的单元格,因此循环将遍历Sheet2中您想要的每个单元格并将其粘贴到Sheet4中。

Sub cmdCopy()  
    Dim lastrow As Long, erow As Long, xNumber As Integer  
    lastrow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row  
    For i = 5 To lastrow  
        erow = Sheet4.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row  
        Sheet2.Cells(i, 1).Copy Sheet4.Cells(erow, 1)  
        'the copy method can have a destination typed right after it, so Excel  
        'takes Sheet4.Cells(row, 1) as the implied destination range.  
    Next i  
    Application.CutCopyMode = False  
    Range("A1").Select  
End Sub