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 编辑器。
我需要在 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 编辑器。