Excel VBA – 如何停止科学数字的自动格式化在VBA编辑器中浮动

我需要在VBA函数中input一系列的公式。 这些公式包含科学记数法中的系数,我需要保留这种记法以便于检查VBA脚本。

但是,只要我在VBA编辑器中input一个科学数字,然后按回车键,数字就会自动转换为一个浮点数。 虽然精度不受影响,但是可读性受到极大的影响,使得检查非常困难。

如何在VBA 7.0编辑器中抑制自动格式化?

例如,如果我在VBA编辑器中input以下行:

e = 3.472e-4 * d + 2.156e-7 

并打回报我最终看到下面的行

 e = 0.0003472 * d + 0.0000002156 

我需要以某种方式停止这种自动格式化的噩梦。

您可以为val创build一个1字符的包装器,如下所示:

 Function v(s As String) As Double v = Val(s) End Function 

然后使用如下的expression式:

 e = v("3.472e-4") * d + v("2.156e-7") 

这可能会减less对可读性的影响

或者 – 为什么不只是接受编辑的工作,而是有解释背景公式的评论?

另一种方法 – 使用另一个像Textpad这样的VBA语法突出显示的编辑器(在Textpad的情况下,您需要从他们的网站下载VBA语法定义文件来启用突出显示)。 你会失去intellisence,但它仍然有一些不错的function。 我没有使用VBA的Textpad,因为Excel中的内置编辑器对我来说已经足够了,但是我已经将Textpad广泛地用于其他一些语言,并且很容易处理。 你可以在Textpad(或者Notepad ++)中编辑代码,并在你想testing的时候将它复制到VBA编辑器中。

Interesting Posts