目前正在构建一个功能,当从下拉数据验证菜单中选择某个选项时,用户将被重定向到工作簿中的不同工作表。我目前拥有的不会返回错误但也不会执行预期的操作。任何帮助将不胜感激。
function gotoselectsheetnosheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange(4,3);
var data = range.getValue();
if (data == "Answers")
{
var dinner = ss.getSheetByName('Answers');
dinner.activate();
}
}
答案 0 :(得分:0)
如果您设置onEdit()触发器,则此方法有效。
function gotosheet(e)
{
e.source.getSheetByName(e.value).activate();
}
e.source是电子表格对象的事件事件对象资源。查看here以了解有关它的更多信息。
接下来是getSheetByName(e.value),e.value是正在编辑的单元格中的新值。
然后下一个是激活。这使它转移到命名表。因此,您可能已在验证设置中选择了相应的工作表名称。
验证设置:
当您在验证下拉列表中选择两个可能的选项之一时会触发onEdit触发器,该功能会将您带到具有该名称的选项卡。
验证设置中使用的命名范围:
OnEdit触发器设置:
答案 1 :(得分:0)
尝试此解决方案。
function onEdit(e) {
if(e.source.getActiveSheet().getName() === "Menu" && e.range.getRow() === 4 && e.range.getColumn() === 3) {
e.source.getSheetByName(e.value).activate();
}
}