单行复制粘贴宏,它将根据工作表之间的单元格内容重复

时间:2018-10-31 17:01:24

标签: excel vba excel-vba

我有一张工作表,其范围为A12:n112,在此范围内,基于其他条件,列A将为“ 0”或“ 1”。 (我有对数据进行排序的代码,以便所有带有1的行都在此范围的顶部-可以正常工作)

我还有另一段代码,我需要代码才能将一行中的单元格B:L复制到另一张工作表的第一空白行中,其中列A的值为“ 1”。然后在第二张工作表中生成一个数字,然后将该数字复制回M列同一行中的原始工作表中。

固定范围后,我可以毫无问题地做到这一点,但是我尝试动态地做到这一点,因为每次使用工作表时,从B到L输入的数据都会有所不同。

任何人都可以帮忙,这是我的新代码

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

此操作似乎没有错误,但是没有复制或粘贴任何内容-任何提示或建议。 (请注意,我已对该问题和代码进行了大规模更改,因此下面的初始答案可能不再适用。

非常感谢您的协助。

0 个答案:

没有答案