我有这个工作表,我想移动(通过复制和粘贴)几周的范围以及称为计划的每一行。下面是我正在使用的一个简单脚本,但如果可能的话,我想创建它的循环?
基本上我想将范围从 E 列复制并粘贴到 O 列。将其粘贴到 D 列中,然后返回到 O 列并删除那里的任何值。
enter code here
<Range("E2:O2").Select
Selection.Copy
Range("D2").Select
ActiveSheet.Paste
Range("O2").Select
Selection.ClearContents
Range("E4:O4").Select
Selection.Copy
Range("D4").Select
ActiveSheet.Paste
Range("O4").Select
Selection.ClearContents>
最佳答案
剪切粘贴
剪辑版
Sub CutPaste()
Const cSheet As Variant = "Sheet1" ' Worksheet Name/Index
Const cFirstS As Variant = "E" ' Source First Column Letter/Number
Const cLastS As Variant = "O" ' Source Last Column Letter/Number
Const cFirstT As Variant = "D" ' Target First Column Letter/Number
Const cFirstRow As Long = 1 ' First Row Number
Const cCriteria As Variant = "B" ' Criteria Column Letter/Number
Const cStrCriteria As String = "Plan" ' Criteria String
Dim lastRow As Long ' Last Row Number
Dim i As Long ' Row Counter
With ThisWorkbook.Worksheets(cSheet)
lastRow = .Cells(.Rows.Count, cFirstS).End(xlUp).Row
For i = cFirstRow To lastRow
If .Cells(i, cCriteria) = cStrCriteria Then
.Range(.Cells(i, cFirstS), .Cells(i, cLastS)).Cut _
Destination:=.Cells(i, cFirstT)
End If
Next
End With
End Sub
复制 ClearContents 版本
Sub CopyClearContents()
Const cSheet As Variant = "Sheet1" ' Worksheet Name/Index
Const cFirstS As Variant = "E" ' Source First Column Letter/Number
Const cLastS As Variant = "O" ' Source Last Column Letter/Number
Const cFirstT As Variant = "D" ' Target First Column Letter/Number
Const cFirstRow As Long = 1 ' First Row Number
Const cCriteria As Variant = "B" ' Criteria Column Letter/Number
Const cStrCriteria As String = "Plan" ' Criteria String
Dim lastRow As Long ' Last Row Number
Dim i As Long ' Row Counter
With ThisWorkbook.Worksheets(cSheet)
lastRow = .Cells(.Rows.Count, cFirstS).End(xlUp).Row
For i = cFirstRow To lastRow
If .Cells(i, cCriteria) = cStrCriteria Then
.Range(.Cells(i, cFirstS), .Cells(i, cLastS)).Copy _
Destination:=.Cells(i, cFirstT)
.Cells(i, cLastS).ClearContents
End If
Next
End With
End Sub
关于excel - 为名为 xxxx 的每一行复制粘贴单元格范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54234548/