我正在尝试从下拉验证列表中选择工作表名称,然后单击图像以跳至该工作表。我使用了下面的脚本,但它给了我一个错误
“找不到方法getActiveCell(string)。”
function showSheetByName(Name) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(ss.getActiveCell('R5').getValue());
SpreadsheetApp.setActiveSheet();
};
上面脚本中的R5代表下拉验证单元格,我可以在其中选择不同工作表的名称。
答案 0 :(得分:0)
我以前没有使用过Google Spreadsheets,但是这个概念类似于Excel VBA(我已经使用过),因此我遇到了麻烦,您的问题是getActiveCell()
没有使用单元格引用;它纯粹获取活动的单元格,您无法更改活动的单元格。因此,要使用您的代码,您首先需要使R5成为活动单元。我发现函数setActiveSelection
可以做到这一点。下面的工作代码示例:
var currentSheet = SpreadsheetApp.getActiveSheet();
currentSheet.setActiveSelection("R5")
var newSheetName = currentSheet.getActiveCell().getValue();
ss.setActiveSheet(ss.getSheetByName(newSheetName));
您可以找到有关方法here的更多详细信息,您可能还想看看方法getRange
,我怀疑您可以不必先进行操作即可获取'R5'的值激活细胞。