Hi, I'm hoping someone can point me in the right direction. The code below works as expected, however it is very slow... It takes at least 5 minutes to complete and I would love to learn a better way to code this so that it runs much faster. Any ideas for me? Thanks!

   While Len(Range("A" & CStr(LSearchRow)).Value) > 0
   
      'If value in column Q <> "RSD" and no trigger Activities, copy entire row to Not Released Report sheet     
      If Range("Q" & CStr(LSearchRow)).Value <> "RSD" And Range("O" & CStr(LSearchRow)).Value <> 100 And Range("O" & CStr(LSearchRow)).Value <> 200 And Range("O" & CStr(LSearchRow)).Value <> 250 And Range("O" & CStr(LSearchRow)).Value <> 400 Then
      
         'Select row in Data sheet to copy
         Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
         Selection.Copy
         
         'Paste row into Not Released Report sheet in next row
         Sheet17.Select 'Not Released Report
         Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
         ActiveSheet.Paste
         
         'Move counter to next row
         LCopyToRow = LCopyToRow + 1
         
         'Go back to Data sheet to continue searching
         Sheet3.Select 'Data
         
         'Display Progress in Status Bar
         Application.StatusBar = False
         Application.StatusBar = "[Step 3 of 6] Update Not Released Report ... Percent Complete: " & Round((LSearchRow / pciCount) * 100, 0) & "%" '& " | " & LSearchRow & " of " & pciCount & " | nrrCount= " & nrrCount
         
      End If
      
      LSearchRow = LSearchRow + 1
       
   Wend