Advertisement
Guest User

Untitled

a guest
Nov 16th, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. function onOpen(e) {
  2. let ui = SpreadsheetApp.getUi();
  3. ui.createMenu('🤖 Automation Tools')
  4. .addItem('Move "Yes" to another sheet', 'moveRows')
  5. .addToUi();
  6. };
  7.  
  8. function moveRows() {
  9. const ss = SpreadsheetApp.getActiveSpreadsheet();
  10. const sheet = ss.getActiveSheet();
  11. const targetSheet = SpreadsheetApp.openById('1s6B6OURQ7FFmP106mrE9laqZ3XLwiXtjway6iGyWsOk').getSheetByName('Sheet1');
  12. const targetLastRow = targetSheet.getLastRow(); // this grabs last row in any column
  13. let lastRow = sheet.getLastRow();
  14. let sortRange = sheet.getSheetValues(2,1,lastRow, 4);
  15.  
  16.  
  17.  
  18.  
  19. Logger.log(lastRow)
  20. // Logger.log(typeof(sortRange))
  21. // Logger.log(sortRange.length);
  22.  
  23.  
  24. let targetCounter = 1;
  25.  
  26. for (var i = 1; i <= sortRange.length; i++) {
  27. let finalized = sheet.getRange(i,1).getValue();
  28. console.log(i + " - " + finalized);
  29.  
  30. // Check if the data already exists in the target sheet
  31. let duplicateCheck = targetSheet.getRange(1, 1, targetLastRow, 4).getValues();
  32. let isDuplicate = false;
  33.  
  34. for (var j = 0; j < duplicateCheck.length; j++) {
  35. if (JSON.stringify(duplicateCheck[j]) === JSON.stringify(sortRange[i - 1])) {
  36. isDuplicate = true;
  37. break;
  38. }
  39. }
  40.  
  41. if (!isDuplicate && finalized == "Yes") {
  42. let rowValues = sheet.getRange(i, 1, 1, 4).getValues();
  43. targetSheet.getRange(targetLastRow+targetCounter, 1, 1, 4).setValues(rowValues);
  44. targetCounter++;
  45. }
  46. };
  47. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement