我有这个脚本隐藏那些包含单词 - 'Matured'(在F列中)
的行function onEdit(e) {
var sheet = e.source.getActiveSheet();
var r = e.source.getActiveRange();
if (sheet.getName() == "Follow-ups LAPL" && r.getColumnIndex() == 6 && r.getValue() == "Matured")
sheet.hideRows(r.getRowIndex(),1);
问题是 - 只有在手动输入'成熟'(在F列中)时,脚本才会隐藏行,但如果通过importrange引入相同的内容(在同一个中)则不起作用F列。
是设计还是有解决方法?
感谢您的帮助!
答案 0 :(得分:0)
这是设计的。对于您的用例,您可以触发onchange
事件而不是onEdit
事件,或者您可以触发两者。看看onChange
是否适用于这两种情况,如果是这样,您可能只会触发它。如果没有,那么您可以同时触发两个事件。
您可以通过转到Current Project的触发器来触发同一功能上的多个事件,如下所示:
答案 1 :(得分:0)
您可以创建自己的功能并每分钟触发一次。但请确保在主电子表格(包含在importrange 中的电子表格ID)中删除空单元格,否则在下面循环 sheet.getLastRow()也会计算空单元格导致不必要的迭代。
function onModified() {
var ss = SpreadsheetApp.openById('SPREADSHEET ID');
var sheet = ss.getSheetByName("Follow-ups LAPL");
var getData = sheet.getRange(1, 6, sheet.getLastRow(), 1).getValues();
Logger.log(getData.length);
for (var i = 0; i < getData.length; i++) {
if (getData[i][0] == "Matured") {
sheet.hideRows(i+1,1);
} else {
sheet.showRows(i+1, 1);
}
}
}