Я довольно новичок в сценариях, поэтому я прошу прощения за возможные ошибки в объяснении моей проблемы. Я работаю над электронной таблицей, которая будет копировать строку на другой лист, если она соответствует определенным критериям (или определенное значение в столбце), и вторую функцию, которая будет перемещать строку на другой лист при удовлетворении определенных критериев.
Используя связанные вопросы / ответы, я смог написать сценарий, который удаляет строку по критерию соответствия «Исходящие» в столбце 4, см. MyFunction1 ниже. Для myFunction2 я пытаюсь вместо этого просто скопировать строку на другой лист, когда она соответствует критериям «M» в столбце 15, но когда я ввожу это значение в столбец 15, он копирует неверную информацию о строке.
Надеюсь, это имеет смысл! Код ниже:
function onEdit(event) {
myFunction1(event);
myFunction2(event);
}
function myFunction1(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Trailers in Yard" && r.getColumn() == 4 && r.getValue() == "Outbound") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Outbound");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
function myFunction2(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Trailers in Yard" && r.getColumn() == 15 && r.getValue() == "M") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Moves");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
Благодарим за помощь!