【发布时间】:2014-02-21 20:30:40
【问题描述】:
我正在尝试创建一些代码来查看一系列单元格,并将符合特定参数的单元格复制并粘贴到工作簿中的不同位置。
我想从“sheet5”复制任何带有字母 L 的内容,并将特定范围复制到“sheet1”
我的代码的循环部分一定有问题,因为只有单元格区域的顶部被复制。我希望粘贴从第 5 行开始并继续向下移动。这是否意味着我正确地将 IRow = IRow + 1 放在粘贴函数下方?
Sub Paste_Value_Test()
Dim c As Range
Dim IRow As Long
Dim rDestination As Excel.Range
Application.ScreenUpdating = False
Sheets("sheet5").Activate
For Each c In Sheets("sheet5").Range("b2", Range("N65536").End(xlUp))
If c.Value = "L" Then
Sheets("sheet5").Cells(c.Row, 2).Copy
Set rDestination = Worksheets("sheet5").Cells(5 + IRow, 12)
rDestination.Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
IRow = IRow + 1
End If
Next c
End Sub
我非常感谢您对此提供的任何帮助。我对 VBA 比较陌生,将开始认真研究。
【问题讨论】:
-
所以“L”可以在列
B:N中的任何位置?当你发现你想从该行的 Col 2 复制值时? -
您在代码中从 Sheet5 复制到 Sheet5?