使用复选框清除表格中的一系列单元格
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
输出:
我正在和我的学生一起制作电子表格棋盘游戏,其中一个正在制作井字游戏。他们尝试添加一个复选框以清除另一轮的范围。
我知道这将涉及一个特定的应用程序脚本,但我不确定是哪一个以及如何告诉它使用带有复选框的 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 objecte.source
and the range object。 - 使用
getActiveSheet()
获取活动 sheet。检查修改后的单元格是否在 sheetGame Board
中,检查修改后的单元格是否在单元格D5
中,最后检查是否使用isChecked()
.[=37 选中了复选框=] - 使用
clearContent()
清除范围C2:E4
的内容,然后将复选框重置为false