0

我正在尝试设置一个公式,其中工作表 1 是当月的安装作业列表,有几列显示客户详细信息,最后一列显示下拉列表中的作业进度。

如果作业“完成”,那么我希望将整行复制到下一个工作表(工作表 2)中,如果作业正在进行中,那么它不会进入下一个工作表。

我也有几个失败的原因是否有可能将此数据传输到(工作表 3)以显示表 1 中已提交的工作列表

4

1 回答 1

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

It will start with row 1 on sheet1 until the value in column A is empty. In my example the status was in column B, you can change this of course.

于 2013-10-04T11:05:38.787 回答