excel将具有特定单词的行复制到同一顺序的另一个表单中

时间:2017-04-16 00:11:29

标签: excel vba

我有一张名为“此处粘贴可用性数据”的工作表,其中A列中有一个数字,C列和D列中有日期和时间,E列中有摘要。列B中有“OK”或“ERROR”字样在里面。我想要做的是将列B中只有“ERROR”一词的所有行复制到名为“可用性”的新工作表中。

数据从第3行开始,可能至少有700行数据。

我需要一个宏,当每月将数据粘贴到“在此处粘贴可用性数据”时,它会自动将数据复制到工作表“可用性”。

我曾尝试使用IF函数,但它不想工作。

Sub Test() 
  For Each Cell In Sheets(1).Range("B:B") 
    If Cell.Value = "ERROR" Then 
      matchRow = Cell.Row 
      Rows(matchRow & ":" & matchRow).Select 
      Selection.Copy 
      Sheets("Availability").Select 
      ActiveSheet.Rows(matchRow).Select 
      ActiveSheet.Paste 
      Sheets("Paste Availability Data Here").Select 
    End If 
  Next 
End Sub

工作表附带的图片

非常感谢

1 个答案:

答案 0 :(得分:0)

这可以完成工作,但您需要更改特定问题的索引和名称。发布自动化的另一个问题(但已经回答here)。

Dim wsh1 As Worksheet
Dim wsh2 As Worksheet
Dim i As Integer
Dim j As Integer

Sub Conditional_Copy()

Set wsh1 = Worksheets("Sheet1")
Set wsh2 = Worksheets("Sheet2")

i = 1
j = 1

Do While wsh1.Cells(i, 2) <> ""

    If wsh1.Cells(i, 2) = "ERROR" Then

        wsh1.Rows(i).Copy wsh2.Rows(j)

        j = j + 1

    End If

    i = i + 1

Loop

End Sub