Skip to content

Instantly share code, notes, and snippets.

@akiraaisha
Created June 22, 2023 11:30
Show Gist options
  • Save akiraaisha/1b9a8372f32f7496b9f1861f047f711f to your computer and use it in GitHub Desktop.
Save akiraaisha/1b9a8372f32f7496b9f1861f047f711f to your computer and use it in GitHub Desktop.
This is a Google Apps Script to Copy and Generate, Delete Sheets based from a List
function generateSheetsFromNames() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//the List names are in sheet name List
var listSheet = spreadsheet.getSheetByName("_Registration_Sheet");
var names = listSheet.getRange('A2:A').getValues();
var templateSheet = spreadsheet.getSheetByName("Blank_Template");
for (var i = 0; i < names.length; i++) {
var name = names[i][0];
if (name !== '') {
try {
var newSheet = templateSheet.copyTo(spreadsheet);
newSheet.setName(name);
newSheet.activate();
Logger.log('Sheet created: ' + name);
} catch (e) {
Logger.log('Error creating sheet: ' + name + '. ' + e);
}
}
}
}
function deleteSheets() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//the List names are in sheet name List
var listSheet = spreadsheet.getSheetByName("List");
var names = listSheet.getRange('A2:A').getValues();
for (var i = 0; i < names.length; i++) {
var name = names[i][0];
if (name !== '') {
var sheet = spreadsheet.getSheetByName(name);
if (sheet && sheet.getName() !== listSheet.getName()) {
try {
spreadsheet.deleteSheet(sheet);
Logger.log('Sheet deleted: ' + name);
} catch (e) {
Logger.log('Error deleting sheet: ' + name + '. ' + e);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment