google-apps-script - 以我只能向它们添加 +1 的方式保护单元格
问题描述
我有一堆带有数字的单元格。我希望他们以我只能向他们添加 +1 的方式保护他们。现在我手动执行此操作(4 变为 5 等等)。
假设 Google 电子表格没有漂亮的向上/向下箭头来表示单元格增加/减少 +1 / -1,我想我应该使用脚本。
像这样的东西
function increment() { SpreadsheetApp.getActiveSheet().getRange("F5").setValue(SpreadsheetApp.getActiveSheet().getRange("F5").getValue() + 1);
}
但是如果我使用这个脚本(创建大量图纸(grrr)),我应该创建 x 相同的功能吗?好像有点傻
这给了我错误
function increment(mycell) { SpreadsheetApp.getActiveSheet().getRange(mycell).setValue(SpreadsheetApp.getActiveSheet().getRange(mycell).getValue() + 1);
}
用法:增量(F5)
错误:找不到函数增量(F5)。
?
解决方案
关于您的方法的问题是递归
默认情况下会重新计算工作表公式,因此如果您在一个单元格中键入一个公式,该公式会使另一个单元格中1
的值增加 - 一旦值增加,这将触发公式重新计算并请求再次增加值等等。
所以你不能以这种方式实现你的想法
解决方法
- 创建一个增加当前单元格值的函数
- 您将此功能绑定到一个按钮,并在单击所需的单元格并单击按钮后触发执行
示例功能:
function increment() {
SpreadsheetApp.getActiveSheet().getCurrentCell().setValue(SpreadsheetApp.getActiveSheet().getCurrentCell().getValue() + 1);
}
要创建一个按钮:
推荐阅读
- javascript - 有什么办法可以缩短这段代码?目前它工作正常
- email - 获取 gmail 或任何其他电子邮件提供商的邮件数据
- excel - 当特定文本在另一列中时如何突出显示列中具有相同值的所有单元格
- javascript - 如何使用@emotion/native 有条件地设置 CSS 属性(文本装饰线和/或边框底部宽度)?
- react-native - React Navigator 5 Stack“组件”不返回任何内容
- flutter - 颤振模拟器没有运行
- c++ - 在 SFML for C++ 中使用多线程的问题
- python - 在 Steam 网站上抓取评论时,Spider 多次生成相同的评论
- javascript - Node JS - 从 fetch API 加载 HTML 页面
- python - 在列表的组合框中获取自动填充的数据