Google apps script Google sheets宏,用于根据下拉选择切换到其他工作表
当前正在构建一个函数,当从下拉数据验证菜单中选择某个选项时,用户将重定向到工作簿中的其他工作表。我目前所拥有的不会返回错误,但也不会执行预期的操作。任何帮助都将不胜感激Google apps script Google sheets宏,用于根据下拉选择切换到其他工作表,google-apps-script,google-sheets,Google Apps Script,Google Sheets,当前正在构建一个函数,当从下拉数据验证菜单中选择某个选项时,用户将重定向到工作簿中的其他工作表。我目前所拥有的不会返回错误,但也不会执行预期的操作。任何帮助都将不胜感激 function gotoselectsheetnosheet() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = sheet.getRange(4,3); var dat
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();
}
}
如果您设置了onEdit()触发器,则此操作有效 e、 source是电子表格对象的事件对象资源。期待了解更多关于它的信息 接下来是getSheetByName(e.value),e.value是正在编辑的单元格中的新值 接下来是激活。这使它移动到指定的工作表。因此,假设您已在验证设置中选择了适当的图纸名称 验证设置: 当您在“验证”下拉列表中选择触发onEdit触发器的两个可能选项之一时,函数会将您带到具有该名称的选项卡 验证设置中使用的命名范围: OneEdit触发器设置:
如果您设置了onEdit()触发器,则此操作有效 e、 source是电子表格对象的事件对象资源。期待了解更多关于它的信息 接下来是getSheetByName(e.value),e.value是正在编辑的单元格中的新值 接下来是激活。这使它移动到指定的工作表。因此,假设您已在验证设置中选择了适当的图纸名称 验证设置: 当您在“验证”下拉列表中选择触发onEdit触发器的两个可能选项之一时,函数会将您带到具有该名称的选项卡 验证设置中使用的命名范围: OneEdit触发器设置: 试试这个解决方案
function onEdit(e) {
if(e.source.getActiveSheet().getName() === "Menu" && e.range.getRow() === 4 && e.range.getColumn() === 3) {
e.source.getSheetByName(e.value).activate();
}
}
试试这个解决方案
function onEdit(e) {
if(e.source.getActiveSheet().getName() === "Menu" && e.range.getRow() === 4 && e.range.getColumn() === 3) {
e.source.getSheetByName(e.value).activate();
}
}
你能把它变成一个连贯的函数吗?因为我很难按照你的逻辑来处理单个代码段。所以我需要两个单独的函数来完成这项工作。这是一个问题还是一个陈述?我不明白,一个问题。您创建了一个只有一行的函数,因此我不确定如何将其合并到我已经编写的内容中。我建议我的函数替换您的所有代码。您能否将其合并到一个连贯的函数中,因为我无法使用单个代码段来遵循您的逻辑,因此我需要两个单独的函数来执行此操作这是问题还是陈述?我不明白,一个问题。您创建了一个只有一行的函数,因此我不确定如何将其合并到我已经编写的内容中。我建议我的函数替换您的所有代码。我收到以下错误:TypeError:无法从undefined读取属性“source”。(第2行,文件“代码”)这是因为您手动运行了该函数。当您更改下拉列表中的选择时,应自动调用它。如何设置?我刚开始使用google Sheets你不需要设置它。它自动工作。如果有名为
onEdit
的函数,则每当电子表格中的某些值发生更改时,将自动调用该函数。顺便说一句。库珀的解决方案也会奏效。唯一的区别是他使用了手动添加的触发器,而不是自动添加的触发器。(第2行,文件“代码”)这是因为您手动运行了该函数。当您更改下拉列表中的选择时,应自动调用它。如何设置?我刚开始使用google Sheets你不需要设置它。它自动工作。如果有名为onEdit
的函数,则每当电子表格中的某些值发生更改时,将自动调用该函数。顺便说一句。库珀的解决方案也会奏效。唯一真正的区别是他使用了手动添加的触发器而不是自动触发器。