Google表格-跟踪当前单元格选择吗?

时间:2019-01-11 03:13:53

标签: google-apps-script google-sheets custom-function

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的示例表,但我不清楚那里实际发生了什么。

1 个答案:

答案 0 :(得分:0)

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

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