I want to run two bits of script on my seets. It seems once I fix one thing, another part that was working breaks!
Function 1 – script to move a whole row from one “Open” sheet (tab) to another “Closed” sheet (tab) upon a check box tick is not working, neither is moving a row from “Closed” sheet back to “Open” when the box is unchecked.
Function 2 – Script to enter the current date in a column cell when that row is edited. The date function works, when I edit a row it puts in the current date however when i try to delete the date it keeps putting it back in
I can’t see where i’m going wrong here and if anyone can help I would really apprechiate it!
Script Below
function onEdit(){
var mainSheet = "Open"
var sheetToMoveTheRow = "Closed"
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();
if(sheet.getName() == "Open" && range.getColumn() == 11 && range.getValue() == true) {
var row = range.getRow();
var numColumns = sheet.getLastColumn();
var targetSheet = ss.getSheetByName("Closed");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1, 1);
sheet.getRange(row, 1, 1, numColumns).moveTo(target);
sheet.deleteRow(row);
} else if(sheet.getName() == "Closed" && range.getColumn() == 11 && range.getValue() == false) {
var row = range.getRow();
var numColumns = sheet.getLastColumn();
var targetSheet = ss.getSheetByName("Open");
const aVals = targetSheet.getRange(1,1,targetSheet.getLastRow() + 1, 1, 1).getValues();
const targetRow = aVals.filter(String).length + 1;
var target = targetSheet.getRange(targetRow , 1);
sheet.getRange(row, 1, 1, numColumns).moveTo(target);
sheet.deleteRow(row);
}
}
```function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();
var column = range.getColumn();
var row = range.getRow();
if (column >= 5 && column <= 9) {
var currentDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd-MM-yyyy');
sheet.getRange(row, 5).setValue(currentDate); // Set the date in column E
console.log('Date set in column E for row', row, ':', currentDate);
}
}
As mentioned above, everytime i’ve fixed one part, another breaks. At the point where i do not know where I am going wrong and don’t know where else to look.
Trishna Cole is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.