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

Excel VBA - How to stop auto formatting of scientific numbers to floating in VBA editor

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

但是,只要我在 VBA 编辑器中输入科学数字并点击 Return,该数字就会自动转换为浮点数。虽然准确性没有受到影响,但可读性受到极大影响,并且使检查变得非常困难。

如何在 VBA 7.0 编辑器中禁止自动格式化?

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

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

并点击 Return 我最终看到以下行

e = 0.0003472 * d + 0.0000002156

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

您可以为 val 制作一个 1 个字符的包装器,例如:

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

然后使用如下表达式:

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

这可能会最大限度地减少对可读性的影响

或者——为什么不直接接受编辑所做的,而是有解释背景公式的评论?

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