title: Macro to remove all rows except those containing certain text
body: <p>I'm trying to write a Macro which will delete every row, apart from those which contain some specific text.</p>
  
  <p>I need to have the following criteria:</p>
  
  <ul>
  <li>Never delete the first 2 rows</li>
  <li>Exclude the rows where the word "Somme" can be found in column C or D.</li>
  </ul>
  
  <p>Note, the word Somme if part of a string in column C or D.  An example of the text found would be something like:</p>
  
  <blockquote>
    <p>Somme alpha/000284727819293</p>
  </blockquote>
  
  <p>What I have so far is code which deletes rows with Somme in it, however i need the opposite:</p>
  
  <pre><code>Sub CleanUp()
      Dim c As Range
      Dim SrchRng
  
      Set SrchRng = ActiveSheet.Range("D3", ActiveSheet.Range("D65536").End(xlUp))
      Do
          Set c = SrchRng.Find("Somme", LookIn:=xlValues)
          If Not c Is Nothing Then c.EntireRow.Delete
      Loop While Not c Is Nothing
  End Sub
  </code></pre>