我需要一个脚本,当我在第8行填写字段时,会在开头自动添加一个空行? 注意:这个新行保留了上一行的公式。
这是我正在使用的脚本。
它的工作原理是写出该行的任何部分(任何一列)
但我希望他只有在我在第8栏写一些内容时才会被激活。
function onEdit(e) {
if (e) {
var ss = e.source.getActiveSheet();
var r = e.source.getActiveRange();
// If you want to be specific
// do not work in first row
// do not work in other sheets except "Outubro"
if (r.getRow() != 1 && ss.getName() == "Outubro") {
// E.g. status column is
status = ss.getRange(r.getRow(), 8).getValue();
// Status
if (status == 'yes', 'null') {
var planilha = SpreadsheetApp.getActiveSpreadsheet();
var folha = planilha.getActiveSheet();
if (folha.getName() === "Outubro")
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.insertRowBefore(4);
var rangeToCopy = sheet.getRange(3, 1, 1, sheet.getMaxColumns());
rangeToCopy.copyTo(sheet.getRange(4, 1));
}
}
}
}
答案 0 :(得分:0)
感谢社区的帮助。
代码正在运行。
我会将代码留给任何需要的人。
再次感谢大家的帮助。
function onEdit(e) {
if (e) {
var ss, activeRange, activeColumn;
var planilha = SpreadsheetApp.getActiveSpreadsheet();
var folha = planilha.getActiveSheet();
if (folha.getName() === "Outubro")
ss = SpreadsheetApp.getActiveSpreadsheet();
activeRange = ss.getActiveRange();
activeColumn = activeRange.getColumn();
//Logger.log('activeColumn: ' + activeColumn); //VIEW LOGS
if (activeColumn !== 8) {return;};//Quit if not column 8 {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.insertRowBefore(4);
var rangeToCopy = sheet.getRange(3, 1, 1, sheet.getMaxColumns());
rangeToCopy.copyTo(sheet.getRange(4, 1));
}
}