Excel VBA 代码从一个单元格剪切并粘贴到另一个单元格

Excel VBA 代码从一个单元格剪切并粘贴到另一个单元格

我正在尝试使用 VBA 在 Excel 中设置代码,从“H”列复制大于“0”的单元格,并将内容粘贴到“G”列的单元格中。例如,如果“H2”大于“0”,则剪切并粘贴到“G2”中,依此类推。我似乎找不到任何可行的方法。任何帮助都将不胜感激。

答案1

为了帮助您使用 VBA 复制粘贴,请查看以下内容:

Sub Copy_paste()
    ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
    ThisWorkbook.Sheets("Sheet1").Range("B1").Select
    ThisWorkbook.Sheets("Sheet1").Paste
End Sub

这应该很简单,但“A1”中放置的内容是复制的源,而“B1”中放置的内容是复制的目标。顺便说一下代替复制,只需将 .Copy 替换为 .Cut 即可。

至于大于之类的逻辑,只需在上面我展示的复制/粘贴方法周围添加一些逻辑运算符即可。例如,如果 A1 大于 2,则将 A1 复制到 B1:

Sub Copy_paste()
    If ThisWorkbook.Sheets("Sheet1").Range("A1") > 2 Then
        ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
        ThisWorkbook.Sheets("Sheet1").Range("B1").Select
        ThisWorkbook.Sheets("Sheet1").Paste
    End If
End Sub

笔记

另请注意,您可以通过多种不同的方式引用单元格。如果所有操作都发生在同一个工作簿中,则以下操作都是同义词:

  • ThisWorkbook.Sheets("Sheet1").Range("A1")
  • 范围(“'Sheet1'!A1”)
  • ThisWorkbook.Sheets("Sheet1").Cells(1,1)
  • 工作表(“Sheet1”)。单元格(1,1)
  • 工作表(“Sheet1”)。范围(“A1”)

相关内容