不相关的范围干扰其他范围的值

时间:2021-06-06 15:32:38

标签: google-apps-script google-sheets

因此,我遇到了一个奇怪的问题,即 Google 表格中的 2 个完全不相关的范围似乎干扰并更改了与它们无关的其他一些范围的值。

详情:

在电子表格中,有 2 个范围用于存储与工作表其余部分完全无关的值。让我们称它们为 X 和 Y。它们的范围或值没有被声明为变量,因为它们不会被脚本的其余部分使用。如果它们的值未定义,则脚本的其余部分将完美运行。

但是,如果已输入值,则会干扰其他 5 个范围及其值。这 5 个范围存储由简单数学方程使用的值。其中 3 个范围只不过是公式的结果,而其他 2 个范围实际上在使用的公式中。让我们称它们为 var A & B。因此,调整 A/B 的数值将输出显示到 3 个结果范围的新值。此等式嵌套在一个函数中,只要 onEdit 函数检测到 A/B 的值发生更改,就会调用该函数。

在方程本身或其包含的函数中,没有对 X/Y 的范围或值的引用。 onEdit 中没有侦听与 X/Y 交互的代码。脚本的其余部分应该对 X/Y 一无所知,并且编辑它们的值不应导致除了存储在其中的值的简单更改之外的任何其他内容。

然而事实并非如此。如上所述,当存在 X/Y 值时,A/B 方程会受到干扰,公式的结果以及 A/B 的值都会发生变化。

我逐行梳理了代码,但看不到这是如何发生的,因为没有对 X/Y 的范围或值的引用。我对这里发生的事情完全不知所措。

以前有没有其他人看到过这样的东西......我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

你们是对的。在尝试剥离代码并提供示例表供您查看时,我注意到问题消失了。因此,我对代码进行了逆向工程,重新添加了内容,并在其中一个函数中发现了一个循环。更正了,一切都很好。感谢您的帮助!!!