Google表格 - 跟踪当前的细胞选择?

问题描述 投票:2回答:1

How to Get the currently selected cell/range?是在3.5年前被问到的,但我希望自那以后可能会取得一些进展。

我想创建一个交互式电子表格,其中有一个布尔网格,它将显示有关静态位置中当前所选单元格状态的更多信息,允许用户使用箭头键快速导航。

引用此问题的上一个实例,我尝试使用下面的自定义函数来获取单元格地址,尽管这不是非常动态。

function currentCell() {
  return SpreadsheetApp.getActive().getActiveRange().getA1Notation();
}

测试时,此函数返回调用函数的单元格的地址。我尝试按F5,同时突出显示另一个单元格,但没有任何反应。我还在选择中拖动了公式,每个单元格只包含自己的地址(根据文档,它应该包含范围)。

我还从2012年开始阅读Henrique's post on caching,虽然我并不完全理解它,但我发现我们无法获得没有编辑或手动公式更新的更新脚本。

理想情况下,除了箭头键导航或点击选择一个单元格之外,没有任何来自用户的额外提示要跟踪当前单元格,但如果按下非改动键(如Enter键)将允许跟踪,那就没问题了。如果这样可以使事情变得更容易,我也只需要选定的单元格,而不是范围。

显式问题:是否可以在Google表格中跟踪当前所选单元格的位置,并将该位置存储在单独的单元格中?如果没有,有没有办法在不改变单元格值的情况下执行此操作?

编辑:为清晰起见添加示例。在该概念示例中,如上所述的A2 =currentCell()。如果我按下右箭头键,A2将更新以显示I4,因为它现在是当前选择。 Current selection position stored in A2.

EDIT2:Jason Allshorn's response to Google app script monitor spreadsheet selected ranges似乎提供了一种在HTML输入文本上显示当前选择(范围)的方法。我想这样做,但是将值存储在工作表上的静态单元格中,而不是输入文本。我刚接触Sheets中的脚本,并且真的只知道我找到了解决这个问题的内容,所以如果我忽略了什么,请告诉我。我确实看过Jason的示例表,我不清楚那里到底发生了什么。

google-apps-script google-sheets custom-function
1个回答
0
投票

你将不得不应用How do I make a Sidebar display values from cells?上建议的技术。这包括使用客户端代码不断从电子表格中提取值,然后执行相应的任务。

一种方法是使用带有输入字段的侧面板来设置要跟踪的单元格,使用另一个输入字段来设置目标单元格。

© www.soinside.com 2019 - 2024. All rights reserved.