求高手指教EXCEL如何用VBA在工作簿中查找包含某字段的行?

如图所示:在工作表中产品品名包含:ASP,SW,S29,SP,BWS,CWS,JPP,QSP的产品需二次上线,已安排二次上线的用黄色标示(第一次安排生产时不标示颜色)。我的工作簿中有几十个这样的工作表,请问用VBA查找工作簿中所有需二次上线的产品明细并将其结果显示到新的工作表中代码应该怎么写?

代码如下:

Sub ErCiShangXianFenLei()
    Dim i As Long, arr, m As Integer, n As Integer
    arr = Array("ASP", "SW", "S29", "SP", "BWS", "CWS", "JPP", "QSP")
    
    With Sheets("Sheet1")
       .[a1].Resize(, 8).Copy Sheets("Sheet2").[a1]
        For i = 2 To .[a65536].End(3).Row
            For m = 0 To UBound(arr)
                If .Cells(i, "D") Like "*" & arr(m) & "*" Then
                    GoSub exitM
                    Exit For
                End If
            Next
        Next
        Exit Sub
exitM:
        If .Cells(i, "D").Interior.Color <> vbYellow Then
            n = Sheets("Sheet2").[a65536].End(3).Row + 1
           .Cells(i, "A").Resize(, 8).Copy Sheets("Sheet2").Cells(n, "A")
        End If
        Return
    End With
End Sub

可以点击附件中的“点我”按钮,然后到Sheet2表查询结果!

追问

你的代码对我有很大的帮助,我已经改把它改成自己想要的结果了!非常谢谢!

追答

不用客气!! :)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-18
怎样才能分辨出是不是二次生产呢?
您的问题不难,只是一个循环和一个改变属性的问题。
写一个vba的宏就搞定了。
另外可否发一个样表到我邮箱,方便修改。
第2个回答  2013-08-18
二次上线是什么意思?追问

二次上线就是该产品第一次生产完成后经过测试/检定hou再次将整批产品重新进行组装加工。

相似回答