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

时间:2015-09-02 01:06:38

标签: excel vba excel-vba number-formatting code-formatting

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

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

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

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

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

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

e = 0.0003472 * d + 0.0000002156

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

1 个答案:

答案 0 :(得分:1)

你可以为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语法定义文件以启用突出显示)。你会失去智慧,但它仍然有一些不错的功能。我没有使用Textpad for VBA,因为Excel中的内置编辑器对我来说已经足够了,但是我已经将Textpad广泛用于其他一些语言并且发现它很容易使用。您可以在Textpad(或者Notepad ++)中编辑代码,并在需要测试时将其复制到VBA编辑器。