title: Range.ClearContents clears the system clipboard - workaround? (VBA/Excel)
body: <p><strong>Problem</strong></p>
  
  <p>A dataview sheet I'm working on regularly wants to reset the contents of parts of the view (to be blank). Historically, we've had problems with users saying this sheet clears their system clipboard.</p>
  
  <p>It looks like there's a problem with using <code>Range.ClearContents</code> to clear these values.</p>
  
  <pre><code># Grab some data from cells onto the clipboard
  
  Sub ClearTheClipboardWhenTheUserIsntExpectingIt()
      Cells(1, 1).EntireRow.ClearContents    ' Or something like that
  End Sub
  </code></pre>
  
  <p>This should be enough to replicate the problem.</p>
  
  <p><strong>Workaround</strong></p>
  
  <p>My question is about a possible workaround, which is to do:</p>
  
  <pre><code>Dim r as Range
  ...
  r.Value2 = Empty
  </code></pre>
  
  <p><strong>Question(s)</strong></p>
  
  <ul>
  <li>Is there some obvious reason why this is <em>not</em> a reasonable workaround? </li>
  <li>Is there some more canonical way to clear the contents of a set of cells without clearing the clipboard? </li>
  <li>Am I just using <code>ClearContents</code> wrong?</li>
  </ul>
  
  <p>I'm loathed to go through a large codebase and search/replace this behaviour if it's going to turn out later that I have to go back and fix it because I've introduced some bug.</p>
  
  <p>Edit: I should mention that I'm using Excel 2007</p>