使用复选框清除表格中的一系列单元格

Clear a range of cells in Sheets using a checkbox

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

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

Here is a copy of the sheet I am using

如有任何帮助,我们将不胜感激!

这是一个示例代码:

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 调用清除面板。
  • 使用e.range获取当前spreadsheet object using the event object e.source and the range object
  • 使用 getActiveSheet() 获取活动 sheet。检查修改后的单元格是否在 sheet Game Board 中,检查修改后的单元格是否在单元格 D5 中,最后检查是否使用 isChecked().[=37 选中了复选框=]
  • 使用 clearContent() 清除范围 C2:E4 的内容,然后将复选框重置为 false

输出: