[vba]
Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim LastRow As Long
Dim NextRow As Long
Dim vecItems As Variant
Dim sh As Worksheet
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
ReDim vecItems(1 To 1)
NextRow = 0
For i = 1 To LastRow
If .Cells(i, "A").Value = "Computer" Then
If IsError(Application.Match(.Cells(i, "B").Value, vecItems, 0)) Then
NextRow = NextRow + 1
ReDim Preserve vecItems(1 To NextRow)
vecItems(NextRow) = .Cells(i, "B").Value
End If
End If
Next i
End With
Set sh = Worksheets("Sheet3")
With Worksheets("Sheet2")
NextRow = 1
.Rows(1).Copy sh.Range("A1")
LastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To LastRow
If Not IsError(Application.Match(.Cells(i, "A").Value, vecItems, 0)) Then
NextRow = NextRow + 1
Rows(i).Copy sh.Cells(NextRow, "A")
End If
Next i
End With
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
[/vba]