我拥有的这段代码似乎只是每隔一行复制、粘贴和删除。我迷失了任何想法吗?
Dim c As Long, rG As Range, vR As Variant
c = 1000
Dim wsA As Worksheet, wsC As Worksheet
Set wsA = Sheets("Active")
Set wsC = Sheets("Closed")
wsA.Activate
For Each rG In Intersect(Range("Y:Y"), ActiveSheet.UsedRange)
vR = rG.Value
If InStr(vR, "Yes") > 0 Then
rG.EntireRow.Copy wsC.Cells(c, 1)
rG.EntireRow.Delete
c = c + 1
End If
Next rG
另外,我有 C = 1000 的唯一原因是因为我不知道如何将其插入到 Sheets("Closed") 列 A 中第一个空单元格所在的末尾。我宁愿这样,因为一旦我们有其他 1000 个单元格填充了我的代码,就开始在单元格 A1000 处替换。
感谢您的帮助
最佳答案
就像是:
For i = ActiveSheet.Range("Y" & Rows.Count).End(xlUp).Row to 1 step -1
set rG = Range("Y" & i)
vR = rG.Value
If InStr(vR, "Yes") > 0 Then
rG.EntireRow.Copy wsC.Cells(c, 1)
rG.EntireRow.Delete
c = c + 1
End If
Next i
你也可以用
Rows.Count
来修正 c 的值。
关于macos - 粘贴到新工作表后删除选择,粘贴到列中的第一个可用单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957076/