簡體   English   中英

Excel VBA-將范圍從一張紙復制到另一張紙,下一個空行

[英]Excel VBA - Copy range from one sheet to another, next empty row

我正在嘗試從一個工作表獲取一個范圍,並將其復制到另一工作表中的下一個空行(基本上,將其粘貼到另一工作表中下一個空行的范圍A12:D12中)。 范圍永遠不會改變。 我已經看到很多類似的問題,有人說答案很有效,但我無法解決。

VBA的新手。 這是我正在使用的代碼:

Private Sub CommandButton1_Click()

    Dim NextRow As Range
    Set NextRow = Range("A" & Sheets("Sheet3").UsedRange.Rows.Count + 1)  

    Sheet1.Range("A12:D12").Copy
    Sheet3.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

    Set NextRow = Nothing

End Sub

這會運行,但實際上不會將任何值粘貼到Sheet3 有什么我想念的嗎? 有一個更好的方法嗎?

謝謝!

您在定義NextRow的第二行中遇到了一個問題。
有一個更好的方法嗎? 這取決於您的需求; 我個人不喜歡在VBA宏中激活/選擇其他單元格,因此例如,我將擺脫Sheet3.Activate 我也將“手動”復制內容而不使用剪貼板,以避免更改用戶的剪貼板內容。

Private Sub CommandButton1_Click()

    Dim NextRow As Range
    Set NextRow = Sheet3.Range("A" & Sheet3.Rows.Count).End(xlUp).Offset(1, 0)

    Sheet1.Range("A12:D12").Copy
    Sheet3.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

    Set NextRow = Nothing

End Sub

暫無
暫無

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

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