繁体   English   中英

根据4个单元格特定的条件将整个Excel行从一个工作表复制到另一个工作表

[英]Copy entire Excel row from one worksheet to another based on 4 cell specific critera

基本上,我要在工作簿工作表RAWinsightly是:

  • 如果该行为空白:请勿复制。
  • 如果J列中包含“商业”一词,请复制该行,除非K列中也包含“丢失”或“放弃”一词。

我已经能够弄清楚的代码对于前两个很有效,但是我一生都无法弄清楚如何添加列K的东西。

Sub copyJobs()
  Dim r1
  Dim r2
  Dim r3

  r1 = 1
  r2 = 1
  r3 = 1

  While Sheets("RAWInsightly").Range("A" & LTrim(Str(r1))) <> ""
    If Sheets("RAWInsightly").Range("J" & LTrim(Str(r1))) = "Commercial" Then
      Sheets("RAWInsightly").Range(LTrim(Str(r1)) & ":" & LTrim(Str(r1))).Copy
      Sheets("RAWCommercial").Range("A" & LTrim(Str(r2))).PasteSpecial xlPasteAll
      r2 = r2 + 1
    End If
    If Sheets("RAWInsightly").Range("J" & LTrim(Str(r1))) = "failed" Then
      Sheets("RAWInsightly").Range(LTrim(Str(r1)) & ":" & LTrim(Str(r1))).Copy
      Sheets("RAWhousing").Range("A" & LTrim(Str(r3))).PasteSpecial xlPasteAll
      r3 = r3 + 1
    End If
    r1 = r1 + 1
  Wend
End Sub
Sub copyJobs()
  Dim r1
  Dim r2
  Dim r3
  Dim shtSrc as Worksheet
  Dim tmp, tmp2

  r1 = 1
  r2 = 1
  r3 = 1

  Set shtSrc = Sheets("RAWInsightly")

  While len(shtSrc.Cells(r1, "A").Value) > 0

      'performing case-insensitive checks...
      tmp = LCase(shtSrc.Cells(r1, "J").Value)
      tmp2 = LCase(shtSrc.Cells(r1, "K").Value)

      If tmp = "commercial" And tmp2 <> "lost" And tmp2 <> "abandoned" Then
          shtSrc.Rows(r1).Copy Sheets("RAWCommercial").Cells(r2, "A")
          r2 = r2 + 1
      End If

      If tmp = "failed" Then
          shtSrc.Rows(r1).Copy Sheets("RAWhousing").Cells(r3, "A")
          r3 = r3 + 1
      End If

      r1 = r1 + 1

  Wend

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM