Last active
September 6, 2019 23:26
-
-
Save mbierman/9ff47a116a01f233c4ee158757b3cfef to your computer and use it in GitHub Desktop.
Archive a row in a spreadsheet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function myArchive(){ | |
| Logger.log("Archieving..."); | |
| // moves a row from a sheet to another when a magic value is entered in a column | |
| // adjust the following variables to fit your needs | |
| // see https://productforums.google.com/d/topic/docs/ehoCZjFPBao/discussion | |
| var target = 'Data'; | |
| // column A = 1, B = 2, etc… | |
| // var columnNumberToWatch = 12; | |
| // ##### Use this instead of hard coding as above | |
| var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
| var sheet = ss.getSheetByName(target); | |
| var range = sheet.getActiveCell(); | |
| var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); | |
| var columnNumberToWatch = headers[0].indexOf("Completed")+1; | |
| // Browser.msgBox(columnNumberToWatch); | |
| // #### | |
| var valueToWatch = 'TRUE'; | |
| var sheetNameToMoveTheRowTo = "Completed Mitzvot"; | |
| var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
| var sheet = SpreadsheetApp.getActiveSheet(); | |
| var range = sheet.getActiveCell(); | |
| var done = range.getDisplayValue(); | |
| // Logger.log("\nSheet Name: '"+sheet.getName()+"'=\ntarget: '"+target+"'\nrange.getColumn: '"+range.getColumn()+"'=\ncolumnNumberToWatch: '"+columnNumberToWatch+"'\nrange.getDisplayValue(): '"+range.getDisplayValue()+"'=\nvalueToWatch: '"+valueToWatch+"'"); | |
| // Browser.msgBox(range.getDisplayValue() + " = "+ valueToWatch); | |
| if ( sheet.getName() == target && range.getColumn() == columnNumberToWatch && range.getDisplayValue() == valueToWatch ) { | |
| var ui = SpreadsheetApp.getUi(); | |
| var dresult = ui.alert( | |
| 'Please confirm', | |
| 'Do you want to move this to the "Completed Mitzvot" tab?', | |
| ui.ButtonSet.YES_NO); | |
| // Process the user's response. | |
| if (dresult == ui.Button.YES) { | |
| // User clicked "Yes". | |
| Browser.msgBox("yeah!"); | |
| var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo); | |
| var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); | |
| sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange); | |
| sheet.deleteRow(range.getRow()); | |
| } else { | |
| // User clicked "No" or X in the title bar. | |
| // ui.alert('Permission denied.'); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment