Skip to content

Instantly share code, notes, and snippets.

@barrieroberts
Created June 4, 2017 17:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barrieroberts/3e2b6ff50cf4780887f26538325da504 to your computer and use it in GitHub Desktop.
Save barrieroberts/3e2b6ff50cf4780887f26538325da504 to your computer and use it in GitHub Desktop.
9Sheet
//Makes a copy of a hidden master sheet and renames it with the teacher's name
function example1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssId = ss.getId();
var destination = SpreadsheetApp.openById(ssId);
var master = ss.getSheetByName("master");
var newSheet = master.copyTo(destination);
newSheet.showSheet();
var teachersName = ss.getSheetByName("name").getRange("A1").getValue();
newSheet.setName(teachersName);
newSheet.getRange("A1").setValue(teachersName);
}
//Hides certain columns and the header row, and inserts a blank column
//Then deletes all the blank rows and columns
function example2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var classes = ss.getSheetByName("classes");
classes.hideColumns(2);
classes.hideColumns(5, 3);
classes.hideRows(1);
classes.insertColumns(5);
var lastRow = classes.getLastRow();
var maxRow = classes.getMaxRows();
var blankRows = maxRow - lastRow;
classes.deleteRows(lastRow + 1, blankRows);
var lastColumn = classes.getLastColumn();
var maxColumn = classes.getMaxColumns();
var blankColumns = maxColumn - lastColumn;
classes.deleteColumns(lastColumn + 1, blankColumns);
}
//Adds teachers name to a list of teachers on a different sheet
//Then adjusts the column width automatically and sorts the list
function example3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var teachersName = ss.getSheetByName("name").getRange("A1").getValue();
var teachersList = ss.getSheetByName("teachers");
teachersList.appendRow([teachersName]);
teachersList.autoResizeColumn(1);
teachersList.sort(1);
}
//Asks the user for the teacher's row number then makes a new sheet for that teacher with their class details
function example4(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Teacher', 'Which teacher do you want? Enter row number.', ui.ButtonSet.OK_CANCEL);
if (response.getSelectedButton() == ui.Button.OK) {
var rowNumber = response.getResponseText();
}
var ss = SpreadsheetApp.getActiveSpreadsheet();
var classes = ss.getSheetByName("classes");
var teachers = classes.getDataRange().getValues();
var teachersName = teachers[rowNumber - 1][0];
var newSheet = ss.insertSheet(teachersName);
var headers = teachers.shift();
var teacherInfo = teachers[rowNumber - 2];
newSheet.appendRow(headers);
newSheet.appendRow(teacherInfo);
}
//The same as example4 but a quicker way
function example5(){
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Teacher', 'Which teacher do you want? Enter row number.', ui.ButtonSet.OK_CANCEL);
if (response.getSelectedButton() == ui.Button.OK) {
var rowNumber = response.getResponseText();
}
var ss = SpreadsheetApp.getActiveSpreadsheet();
var classes = ss.getSheetByName("classes");
var teachers = classes.getDataRange().getValues();
var teachersName = teachers[rowNumber - 1][0];
var newSheet = ss.insertSheet(teachersName);
var headers = teachers.shift();
var teacherInfo = teachers[rowNumber - 2];
var info = [];
info.push(headers);
info.push(teacherInfo);
newSheet.getRange(1,1,2,7).setValues(info);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment