gpt4 book ai didi

excel - Excel VBA 中的运算符重载

转载 作者:行者123 更新时间:2023-12-02 07:52:27 25 4
gpt4 key购买 nike

我想做的事情:

我想使用operator overloading在 Excel 中对我的自定义数据类型运行自定义函数。例如,在计算公式时,当计算涉及我的自定义数据类型之一时,我希望 Excel 运行我的函数而不是“+”运算符。

为什么我想这样做:

在分析化学中,每个数字都带有不确定性,并写为:

13.56(±0.02)毫米

我想创建一个自定义数据类型,将数字的大小和不确定性保留在同一单元格中。

另外,我想实现运算符重载,所以当我编写时

=A1+A2

并且 A1 或 A2 包含不确定类型数字,我的自定义函数运行而不是默认函数“+”运算符来计算不确定性。

这将使我的电子表格更加清晰,因为目前,我必须编写这样的语句

=ADD_UNC(A1, A2)

这对于非常简单的方程来说很好,但是当我试图形成的操作稍微不平凡时,这就会变得很痛苦。

=MULT_UNC(A3, ADD_UNC(MULT_UNC(A5, A1, A2), A3)

vs.

=A3*((A1*A2)+A3)

为什么我认为这是可能的:

我知道在真正的、成熟的编程语言(例如 C#)中,运算符重载非常常见并且非常容易执行。

感谢您的帮助,

迈克尔

最佳答案

在 VBA 中不可能。 VBA 旨在提供有助于自动化的脚本。你看,我们称它们为宏。 VBA 不是构建在模块化类或对象之上。当您在编辑器中键入/按回车键时,您的 VBE 会直接写入 P 代码。 VBA 非常棒,包含很多功能,但期望 VBA 中有这些功能有点牵强。即使将来也不可能拥有此功能。只是一个建议,永远不要太担心代码修饰,它们是无用的开销。

关于excel - Excel VBA 中的运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32059360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com