title: Why use Range.Formula in VBA for Excel 2003 instead of Range.Value?
body: <p>I was wondering why in VBA code for Excel 2003 do we even need to use <code>Range.Formula</code> to <b>write</b> a formula to a cell instead of just using <code>Range.Cell</code>? They both write Strings to the cell that become forumlas, and the formula works (from what I've tested).</p>
  
  <pre><code>ActiveCell.Value="=If(True,""yes"",""no"")"
  </code></pre>
  
  <p>and</p>
  
  <pre><code>ActiveCell.Formula="=If(True,""yes"",""no"")"
  </code></pre>
  
  <p>do the same thing for me (when I select a cell and execute each of the above code segments separately in separate cells). They both show the "yes" value in the cell and the formula is stored when I click to view each cell.</p>
  
  <p>I looked on Microsoft's Dev Center for info:</p>
  
  <p><code>Range.Formula</code> <a href="http://msdn.microsoft.com/en-us/library/office/ff838835.aspx" rel="nofollow">Range.Formula Property for Excel 2013 (Excel 2003 did not have a page for this Property)</a></p>
  
  <p><code>Range.Value</code> <a href="http://msdn.microsoft.com/en-us/library/office/aa215937%28v=office.11%29.aspx" rel="nofollow">Property for Excel 2003 (Expand the "Value property as it applies to the Range object." heading</a></p>
  
  <p>I also googled "Why use Range.Formula instead of Range.Value VBA Excel" and couldn't find anything that related to my question.</p>
  
  <p><a href="http://www.ozgrid.com/forum/showthread.php?t=68585" rel="nofollow">Some people</a> said, use <code>Range.Value</code>.</p>
  
  <p>Some others say use <code>Range.Formula</code> on stack overflow (Sorry I lost the reference to the exact question...)</p>