Sammy
Sammy

Reputation: 1

Combining four scripts in one google sheet

https://docs.google.com/spreadsheets/d/1vOk8zecnzkSEcVNmI3C61yOd9V4nZvXbpKy6HqtXZhQ/edit?usp=sharing

I have four scripts that work when I wrote them, but they do not work at the same time. I tried to a combining into one script, but continue to get errors and none will work.

function onEdit(event) {
// assumes source data in sheet named 2021 Main
// target sheet of move to named Rejected or Incomplete Counts
// test column with yes is col 8or H
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();

if(s.getName() == "2021 Main" && r.getColumn() == 8 && r.getValue() == "Incomplete") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Rejected or Incomplete Counts");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
 }
}



function onEdit(event) {
// assumes source data in sheet named 2021 Main
// target sheet of move to named Rejected or Incomplete Counts
// test column with yes is col 8 or H
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();

if(s.getName() == "2021 Main" && r.getColumn() == 8 && r.getValue() == "Rejected") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Rejected or Incomplete Counts");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
 }
}



function onEdit(event) {
// assumes source data in sheet named Rejected or Incomplete Counts
// target sheet of move to named Reset Count
// test column with yes is col 8 or H
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();

if(s.getName() == "Rejected or Incomplete Counts" && r.getColumn() == 8 && r.getValue() == "Reset") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Reset Count");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
 }
}


function onEdit(event) {
// assumes source data in sheet named Rejected or Incomplete Counts
// target sheet of move to named Repair or Remove STC
// test column with yes is col 8 or H
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();

if(s.getName() == "Rejected or Incomplete Counts" && r.getColumn() == 8 && r.getValue() == "Repair or Remove STC") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Repair or Remove STC");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
 }
}

I did attempt to combine with the following but only the first script would work

function onEdit(event) {
  myFunction1();
  myFunction2();
  myFunction3();
  myFunction4();
 }

Upvotes: 0

Views: 42

Answers (2)

Cooper
Cooper

Reputation: 64140

Or possibly this:

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if (s.getName() == "2021 Main" && r.getColumn() == 8 && r.getValue() == "Incomplete") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Rejected or Incomplete Counts");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }

  if (s.getName() == "2021 Main" && r.getColumn() == 8 && r.getValue() == "Rejected") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Rejected or Incomplete Counts");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }

  if (s.getName() == "Rejected or Incomplete Counts" && r.getColumn() == 8 && r.getValue() == "Reset") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Reset Count");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }

  if (s.getName() == "Rejected or Incomplete Counts" && r.getColumn() == 8 && r.getValue() == "Repair or Remove STC") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Repair or Remove STC");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
    s.deleteRow(row);
  }
}

Upvotes: 0

Yuri Khristich
Yuri Khristich

Reputation: 14537

Probably it can be like this:

function onEdit(event) {
  myFunction1(event);
  myFunction2(event);
  myFunction3(event);
  myFunction4(event);
 }

Just a guess.

Upvotes: 2

Related Questions