【问题标题】:Clear a range of cells in Sheets using a checkbox使用复选框清除表格中的一系列单元格
【发布时间】:2021-12-24 04:52:35
【问题描述】:

我正在和我的学生一起制作电子表格棋盘游戏,其中一个正在制作井字游戏。他们尝试添加一个复选框以清除另一轮的范围。

我知道这将涉及特定的应用脚本,但我不确定是哪一个以及如何告诉它使用复选框的真/假以及如何清除特定范围。

Here is a copy of the sheet I am using

任何帮助将不胜感激!

【问题讨论】:

标签: google-apps-script google-sheets checkbox spreadsheet


【解决方案1】:

这是一个示例代码:

function onEdit(e) {
  var ss = e.source;
  var activeSheet = ss.getActiveSheet();
  var cell = e.range;

  if (activeSheet.getName() == "Game Board" && cell.getA1Notation() == "D5" && cell.isChecked()){
    // Clear Cell C2:E4
    activeSheet.getRange("C2:E4").clearContent();
    // reset checkbox
    cell.setValue(false);
  }
}

它有什么作用?

  • 当单元格D5 中的复选框被选中时,使用onEdit() Simple trigger 调用clear board。
  • 使用事件对象e.source获取当前spreadsheet object,使用e.range获取range object
  • 使用getActiveSheet() 获取活动工作表。检查修改后的单元格是否在工作表Game Board中,检查修改后的单元格是否在单元格D5中,最后使用isChecked()检查复选框是否被选中。
  • 使用clearContent()清除范围C2:E4的内容,然后将复选框重置为false

输出:

【讨论】:

  • 非常感谢 Ron - 这真是太棒了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
相关资源
最近更新 更多