Created
June 6, 2018 09:27
-
-
Save justislav/092ac3375ceb3866126da11a0b7c274d to your computer and use it in GitHub Desktop.
group & collapse top levels tree branches, remove all previous groups from current sheet
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
| /** @OnlyCurrentDoc */ | |
| function getGroup(sheet, rowIndex) { | |
| var groupDepth = sheet.getRowGroupDepth(rowIndex); | |
| if (groupDepth) return sheet.getRowGroup(rowIndex, groupDepth) | |
| else return null | |
| } | |
| function remove_all_groups() { | |
| var spreadsheet = SpreadsheetApp.getActive(); | |
| var sheet = spreadsheet.getActiveSheet(); | |
| var endRow = sheet.getLastRow(); | |
| for (var row = 1; row <= endRow; row++) { | |
| var group = getGroup(sheet, row); | |
| while (group) { | |
| group.remove(); | |
| group = getGroup(sheet, row); | |
| } | |
| } | |
| }; | |
| function group_rows() { | |
| remove_all_groups(); | |
| var spreadsheet = SpreadsheetApp.getActive(); | |
| var sheet = spreadsheet.getActiveSheet(); | |
| var endRow = sheet.getLastRow(); | |
| var endCol = sheet.getLastColumn(); | |
| var row = 10; | |
| var new_group_row = 10; | |
| while (row <= endRow) { | |
| var new_group = ! sheet.getRange(row, 1).isBlank() | |
| if (new_group) { | |
| if (row - new_group_row > 2) { | |
| // sheet.getRange(row-2,2).setValue(new_group_row); | |
| sheet.getRange(new_group_row+1, 1, row - new_group_row - 1).shiftRowGroupDepth(1); | |
| getGroup(sheet,new_group_row+1).collapse(); | |
| } | |
| new_group_row = row | |
| } | |
| row++; | |
| } | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment