我有一张名为“此处粘贴可用性数据”的工作表,其中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
工作表附带的图片
非常感谢
答案 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