【发布时间】:2020-06-12 18:51:16
【问题描述】:
我正在尝试将宏转换为 OnEdit 函数。
我的范围是 A2:R7。它没有可见的过滤器。 Col A (A3:A7) 中有复选框。
如果选中了一个复选框,我希望它清除活动行 (A:O) 和 (Q:R) 的相应内容。 注意,Col P 中有一个公式,我希望保留它。
当内容被清除后,我希望它取消选中该框,并对范围内的剩余内容进行排序(A2:A7)。
他是分配给第 5 行的宏。
function macro1() {
var spreadsheet = SpreadsheetApp.getActive();
// Set checkbox to FALSE
spreadsheet.getRange('A5').activate();
spreadsheet.getCurrentCell().setValue('FALSE');
// Clear contents Col B to Col O and Col Q to Col R
spreadsheet.getRange('B5:O5').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('Q5:R5').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
// Create filter, sort, remove filter
spreadsheet.getRange('A2:R7').createFilter();
spreadsheet.getActiveSheet().getFilter().sort(2, true);
spreadsheet.getActiveSheet().getFilter().remove();}
我解决它的尝试相对徒劳,因为我对使用脚本非常陌生。主要的挫败点是把它分配给一个复选框。
【问题讨论】:
标签: google-apps-script google-sheets