簡體   English   中英

復制最后一行並粘貼到指定范圍

[英]Copy last row and paste into specified range

我正在嘗試從范圍B7:O34復制最后輸入的數據並將其粘貼到范圍A7:O7

當我運行此宏時,我希望它覆蓋A7:O7的數據,而不是繼續在連續的行中列出數據。

這是我嘗試過的:

Sub CopyLastRow()
    Dim lRw As Long
    With ActiveSheet
        lRw = Cells.Find("", .Range("A" & Rows.Count), , , xlByRows, xlPrevious).Row
        .Rows(lRw).Copy
    End With 
    With Sheets("Sheet1")
        lRw = Cells.Find("", .Range("A" & Rows.Count), , , xlByRows, xlPrevious).Row
        .Rows(lRw + 1).PasteSpecial Paste:=xlPasteValues
    End With
End Sub
Option Explicit

Sub CopyLastRow()

    Dim lR As Long, lC As Long, r1 As Range, r2 As Range

    With ActiveSheet
        lR = .Cells(.Rows.Count, 2).End(xlUp).Row           'last row - should be 34
        lC = .Cells(7, .Columns.Count).End(xlToLeft).Column 'last col - should be "O" (15)

        Set r1 = .Range(.Cells(lR, 2), .Cells(lR, lC))      'last row of data
    End With

    With Sheets("Sheet1")
        Set r2 = .Range(.Cells(6, 2), .Cells(6, lC))        'row 6 on Sheet1
    End With

    r2.Value2 = r1.Value2

End Sub

干得好..

Sub Button1_Click()
    Dim sh As Worksheet, ws As Worksheet
    Dim Rws As Long, rng As Range, Prng As Range

    Set sh = ActiveSheet
    Set ws = Sheets("Sheet1")
    Set Prng = ws.Range("B6")

    With sh
        Rws = .Range("B34").End(xlUp).Row
        Set rng = .Range("B" & Rws & ":O" & Rws)
    End With

    rng.Copy Prng

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM