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形和IFtesting判断)。

这是怎么回事?

这可能不是最有效的方法,但它的工作原理:

 Option Explicit Sub convertText() Dim testValue As Variant testValue = ActiveCell.Value & "" ActiveCell.ClearContents ActiveCell.NumberFormat = "@" ActiveCell.Value = testValue End Sub