簡體   English   中英

非常基本的剪切/粘貼 VBA

[英]Very Basic Cut/Paste VBA

VBA 非常新:

我希望將單元格 C2 中的數據剪切到列的末尾並粘貼該數據,從單元格 e2 開始。

我知道這應該非常簡單,但是我已經嘗試了一些事情並且仍然卡住了。 數據被直接剪切,但無法粘貼。

最近的嘗試:

Sub CutPaste_Data()
    
    Range("c2", Range("c2").End(xlDown)).Select
    
    Selection.Cut
    
    Range("e2", Range("e2").End(xlDown)).Select
    
    Selection.PasteSpecial

由於您是新手,我將嘗試使用我的示例解決方案來強制養成一些好習慣:)

Option Explicit

Sub CopyData()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    With ws
        Dim lastRow As Long
        lastRow = .Cells(.Rows.Count, 3).End(xlUp).Row
        .Range(.Cells(2, 5), .Cells(lastRow, 5)).Value = .Range(.Cells(2, 3), .Cells(lastRow, 3)).Value
        .Range(.Cells(2, 3), .Cells(lastRow, 3)).Value = vbNullString
    End With
End Sub

以下是您的 VBA 代碼的好習慣:

  1. 始終使用Option Explicit
  2. 始終清楚所引用的工作表或范圍
  3. 使用中間變量(例如lastRow )來幫助自己使代碼更具可讀性。 是的,這是幾行額外的代碼。 但在許多情況下,它可以讓你的代碼更快(如果這是一個問題的話),但你會發現從長遠來看,可讀性總是對你有更大的幫助。
  4. 避免在代碼中使用Select

祝你好運!

暫無
暫無

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

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