Excel,VBA,将数字转换为带有numberformat =“@”的文字?
从数字中告诉文本的基本规则是文本是左alignment的,数字是右alignment的。
在一个空白单元格中,我将格式设置为文本 。 然后,我进入了25
。 这个“号码”是左alignment的,意味着它是文本。 在单元的左上angular有一个绿色的三angular形,有一个音符说
“单元格中的数字被格式化为文本…”。
到现在为止还挺好。
在下面的单元格中,我input了25
。 这是正确的,暗示这是数字。 然后我运行代码Range.NumberFormat="@"
就可以了。 它变成了左alignment。 但是,没有绿色的三angular形。
当我用=IF(A1="25",1,0)
检查第一个单元格时,公式返回1
。 相同的testing(当然是差分地址)在下一个单元返回0
。
在我看来,代码转换为文本25
(从alignment判断),同时不转换25
文本(从缺乏绿色三angular形和IF
testing判断)。
这是怎么回事?
这可能不是最有效的方法,但它的工作原理:
Option Explicit Sub convertText() Dim testValue As Variant testValue = ActiveCell.Value & "" ActiveCell.ClearContents ActiveCell.NumberFormat = "@" ActiveCell.Value = testValue End Sub