![](/img/trans.png)
[英]Archive data row to another tab while data is imported through importrange (Google Sheets)
[英]Data validation rule is not working with query(importrange in Google Sheets
我正在将数据从一个电子表格导入到另一个电子表格:我的公式=QUERY(IMPORTRANGE
在 C9 中。除了我的关于数据验证规则的脚本之外,一切都在工作。我希望只要有数据在 B 列中出现一个复选框列 C。
function createSpreadsheetOpenTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('onChange')
.forSpreadsheet(ss)
.onOpen()
.create();
function onChange(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
// When a PO number is filled in Col8 or H, generate the data validation for the row
var lastRow = s.getLastRow();
var listRange1 = ss.getSheetByName('Settings').getRange('B3:B7'); // list range for Factor Status
var listRange2 = ss.getSheetByName('Settings').getRange('C3:C8'); // list range for Payment Status
if (s.getName() == "2019-2020" && r.getRow() == lastRow && r.getColumn() == 8){
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build()
s.getRange(lastRow,2).setDataValidation(rule); // rule to create the check box data validation in Col2 or B
var rule1 = SpreadsheetApp.newDataValidation().requireValueInRange(listRange1).build()
s.getRange(lastRow,17).setDataValidation(rule1); // rule to create drop down list for Factor Status in Col17
var rule2 = SpreadsheetApp.newDataValidation().requireValueInRange(listRange2).build()
s.getRange(lastRow,16).setDataValidation(rule2); // rule to create drop down list for Payment Status in Col16
}
}
}
如果我在 C 列中手动添加内容,则脚本有效。 但它不适用于导入的数据。 有人有想法吗?
谢谢您的帮助!
IMPORTRANGE
不会触发onEdit
,但会触发onChange
onChange
是一个可安装的触发器onChange
触发器绑定到它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.