我需要在工作表中创建一个下拉列表,它可以在每次选择工作表中的值时更改工作表名称。到目前为止,这就是我所能做的:
function renameSheet() {
//DEFINE ALL ACTIVE SHEETS
var ss = SpreadsheetApp.getActiveSpreadsheet();
//GET SHEET
var dataSheet = ss.getSheetByName("Data");
var secondSheet = ss.getSheets()[1];
//PART DROPDOWN
var partCell = secondSheet.getRange('A3');
var partLastRow = dataSheet.getLastRow();
var partRange = dataSheet.getRange('A2:A' + partLastRow);
var partRule = SpreadsheetApp.newDataValidation().requireValueInRange(partRange).build();
partCell.setDataValidation(partRule);
var newName = secondSheet.getRange("A3");
secondSheet.setName(newName);
}发布于 2021-12-05 13:20:32
顶部函数更改工作表0、9和10上的工作表名称。
function onEdit(e) {
const sh = e.range.getSheet();
const shts = ['Sheet0','Sheet10','Sheet9'];
const idx = shts.indexOf(sh.getName());
if(~idx && e.range.columnStart == 1 && e.range.rowStart == 1) {
sh.setName(e.value);
}
}这将从单元格A1中的列表中创建工作表名称的下拉列表。
function makeADropDown() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const r = SpreadsheetApp.newDataValidation().requireValueInList(['Sheet9', 'Sheet10', 'Sheet0']);
sh.getRange('A1').setDataValidation(r);
}演示:

https://stackoverflow.com/questions/70234526
复制相似问题