我正在尝试使用 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”)