title: Excel, VBA, convert number to text with numberformat="@" working or not?
body: <p>The basic rule to tell text from number is that text is left-aligned and number is right-aligned.</p>
  
  <p>In a blank cell, I set the format to <em>text</em>. Then, I entered <code>25</code>. This "number" was left-aligned, implying it was text. There was a green triangle on the upper-left corner of the cell with a note saying </p>
  
  <blockquote>
    <p>"The number in the cell is formatted as text...". </p>
  </blockquote>
  
  <p>So far so good.</p>
  
  <p>In the cell right below, I entered <code>25</code>. It was right-aligned, implying it was number. I then ran the code <code>Range.NumberFormat="@"</code> on it. It became left-aligned. However, there was no green triangle.</p>
  
  <p>When I used <code>=IF(A1="25",1,0)</code> to check the first cell, the formula returned <code>1</code>. Same test (difference address, of course) on the next cell returned <code>0</code>.</p>
  
  <p>It seems to me the code converted <code>25</code> to text (judging from the alignment) and at the same time not converted <code>25</code> to text (judging from the lack of a green triangle and the <code>IF</code> test.)</p>
  
  <p>What's going on?</p>