我正在尝试设置一个公式,其中工作表1是本月的安装作业列表,有几列显示客户详细信息,最后一列显示了下拉列表中的作业进度。
如果作业已“完成”,那么我希望将整行复制到下一个工作表(工作表2)中,如果作业正在进行中,则不会进入下一个工作表。
我还有几个失败的原因可以将这些数据转移到(工作表3)以显示来自表1的已归档作业列表
我们将非常感激地收到任何指导。
答案 0 :(得分:0)
Sub copyJobs()
Dim r1
Dim r2
Dim r3
r1 = 1
r2 = 1
r3 = 1
While Sheets("Sheet1").Range("A" & LTrim(Str(r1))) <> ""
If Sheets("Sheet1").Range("B" & LTrim(Str(r1))) = "completed" Then
Sheets("Sheet1").Range(LTrim(Str(r1)) & ":" & LTrim(Str(r1))).Copy
Sheets("Sheet2").Range("A" & LTrim(Str(r2))).PasteSpecial xlPasteAll
r2 = r2 + 1
End If
If Sheets("Sheet1").Range("B" & LTrim(Str(r1))) = "failed" Then
Sheets("Sheet1").Range(LTrim(Str(r1)) & ":" & LTrim(Str(r1))).Copy
Sheets("Sheet3").Range("A" & LTrim(Str(r3))).PasteSpecial xlPasteAll
r3 = r3 + 1
End If
r1 = r1 + 1
Wend
End Sub
它将从sheet1上的第1行开始,直到A列中的值为空。在我的示例中,状态位于B列,您当然可以更改它。