我有一张工作表,其范围为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
此操作似乎没有错误,但是没有复制或粘贴任何内容-任何提示或建议。 (请注意,我已对该问题和代码进行了大规模更改,因此下面的初始答案可能不再适用。
非常感谢您的协助。