title: Slow VBA macro reading/writing from one sheet to another
body: <p>I'm writing a macro that will evaluate the fields in columns O through V for 800 or so rows. I've read that reading and writing take the longest, which is what I am essentially doing. </p>
  
  <p>Because there is a lot of data, it is running pretty slowly. It'll take a minute, maybe a little more, to run through everything, and it'll say that Excel isn't responding while it runs. </p>
  
  <p>I need some help optimizing it because I'm not very familiar with VBA, but I've done everything I can think of to make faster. I've read that using 2 dimensional arrays would help, but I have no idea how that would work for this situation. </p>
  
  <p>Any help or advice would be appreciated! Thank you for your time :-)</p>
  
  <pre><code>Sub Check_Missing()
  
  Application.ScreenUpdating = False
  
  Dim LastRow, LastRow2 As Long
  Dim col
  Dim i, j, 
  Dim M, N, P As String
  Dim summarySh, resultsSh As Worksheet
  
  Set summarySh = Sheets("summary")
  Set resultsSh = Sheets("Results")
  
  col = Array("O", "P", "Q", "R", "S", "T", "U", "V")
  M = "Missing"
  N = "No"
  P = "Partial"
  
  LastRow = summarySh.Range("A" &amp; Rows.Count).End(xlUp).Row
  LastRow2 = resultsSh.Range("A" &amp; Rows.Count).End(xlUp).Row + 1
  
  resultsSh.Range("A2:AC" &amp; LastRow2).Clear
  
  For i = 2 To LastRow
      For j = LBound(col) To UBound(col)
          If summarySh.Cells(i, col(j)).Value = M Or summarySh.Cells(i,             
  col(j)).Value = N Or summarySh.Cells(i, col(j)).Value = P Then
              summarySh.Cells(i, col(j)).EntireRow.Copy     
  Destination:=resultsSh.Range("A" &amp; Rows.Count).End(xlUp).Offset(1)
  
              GoTo ContinueForLoop
  
          End If
  
      Next j
  ContinueForLoop:
  Next i
  Application.ScreenUpdating = True
  End Sub
  </code></pre>
  
  <p>This is a side question, so if you happen to know, that would be great, but if not I'm sure I can figure it out.</p>
  
  <p>I have to compare two workbooks (one is the one I'm working with and the other is downloaded externally), and I was hoping to call Inquire, an Excel Add-in function, so that it would pop up immediately if someone else were to use my macro, since it'll be just a bit more user=friendly.</p>