What is the difference between .Value = "" and .ClearContents?
<p>If I run the following code</p>

<pre><code>Sub Test_1()
   Cells(1, 1).ClearContents
   Cells(2, 1).Value = ""
End Sub
</code></pre>

<p>When I check Cells(1, 1) and Cells(2, 1) using formula <code>ISBLANK()</code> both results return <strong>TRUE</strong>. So I'm wondering:</p>

<blockquote>
  <p>What is the difference between <code>Cells( , ).Value = ""</code> and <code>Cells( , ).ClearContents</code>?</p>
</blockquote>

<p>Are they essentially the same?</p>

<hr>

<p>If I then run the following code to test the time difference between the methods:</p>

<pre><code>Sub Test_2()
Dim i As Long, j As Long
Application.ScreenUpdating = False

For j = 1 To 10
    T0 = Timer
    Call Number_Generator
    For i = 1 To 100000
        If Cells(i, 1).Value / 3 = 1 Then
            Cells(i, 2).ClearContents
           'Cells(i, 2).Value = ""
        End If
    Next i
    Cells(j, 5) = Round(Timer - T0, 2)
Next j

End Sub

Sub Number_Generator()
Dim k As Long
Application.ScreenUpdating = False

For k = 1 To 100000
    Cells(k, 2) = WorksheetFunction.RandBetween(10, 15)
Next k

End Sub
</code></pre>

<p>I get the following output for runtime on my machine</p>

<pre><code>.ClearContents  .Value = ""
4.20            4.44
4.25            3.91
4.18            3.86
4.22            3.88
4.22            3.88
4.23            3.89
4.21            3.88
4.19            3.91
4.21            3.89
4.17            3.89
</code></pre>

<p>Based on these results, we see that the method <code>.Value = ""</code> is faster than <code>.ClearContents</code> on average. Is this true in general? Why so?</p>