首页 > 解决方案 > 使用动态范围在 2 张纸上剪切复制粘贴宏

问题描述

我有一张范围为 A12:N112 的工作表,A 列是我的触发列(1 或 ),基于不断变化的标准)。我的宏的第一位可以将此范围排序到所有带 1 的行都在范围的顶部。然后它也会打开目标工作表。

下面的下一段代码,需要为每一行复制单元格 B:L,在 A 列中为 1,并将其粘贴到目标工作表中从 D 列开始的第一个空行中。然后生成一个数字,然后复制并粘贴回该特定行的 M 列的第一张纸中。然后,这需要循环,直到 A 列中具有 1 的所有行都已被处理。

谁能帮忙,这是我的代码,它运行但没有复制或粘贴。

Dim lr As Long lr = Sheets("Data Entry").Cells(Rows.Count, "A").End(xlUp).Row
For r = lr To 2 Step 1
If Range("AB" & r).Value = "1" Then
Rows(r).Copy.Range ("A" & lr2 + 1)
Windows("Serialisation Log.xlsx").Activate
Sheets("SNo Log").Select
Range("D" & Rows.Count).End(xlUp).Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
Windows("Serialisation Log.xlsx").Activate
Sheets("SNo Log").Select
Range("A" & Rows.Count).End(xlUp).Offset(-1).Select
Selection.Copy
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
ActiveSheet.Paste
Range("A" & Rows.Count).End(xlUp).Offset(0).Select
Selection.Copy

Windows("Serialisation Generator rev 1.xlsm").Activate
Worksheets("Data Entry").Select
Range("N").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End If
If Range("AB" & r).Value = "0" Then
   Range("I4").Select
   ActiveCell.FormulaR1C1 = "Serial No. Issue complete for this OA"
End If
Range("F5").Select


Next r

任何帮助将不胜感激。

标签: excelvba

解决方案


推荐阅读