我的项目有一个Excel工作簿,其中包含一个主表单,其中包含该作业的所有门/产品。在列BF中包含产品所在阶段交付的编号。我已正确使用它(见下文)将包含产品的每一行复制到该阶段的工作表中。它们的名称如下:“Stage 1 Sheet”,“Stage 2 Sheet”。如果只有两个阶段的交付,我有这个工作。我希望它可以完成大约24个阶段。
我遇到的问题是我的代码会很长。有没有办法可以将舞台列中的值与舞台工作表上的数字相匹配? 这是我的代码:
Sub LineCopy()
Dim LR As Long, i As Long
LR = Sheets("Master Sheet").Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For i = 10 To LR
If Sheets("Master Sheet").Range("BF" & i).Value = "1" Then
Sheets("Master Sheet").Range("A" & i).EntireRow.Copy
Sheets("Stage 1 Sheet").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial (xlPasteValues)
ElseIf Sheets("Master Sheet").Range("BF" & i).Value = "2" Then
Sheets("Master Sheet").Range("A" & i).EntireRow.Copy
Sheets("Stage 2 Sheet").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial (xlPasteValues)
End If
Next i
Application.CutCopyMode = False
End Sub
这是我的床单布局。我将为最多24个阶段/交付添加更多工作表:
我还想要添加更多代码。
答案 0 :(得分:2)
您是否尝试在循环中引入第二个FOR循环:
FirmAnswer