【问题标题】:Moving cursor to cell below in google sheets automatic when datainput amount = 1当数据输入量 = 1 时,自动将光标移动到谷歌表格中的下方单元格
【发布时间】:2023-01-03 03:10:14
【问题描述】:

我正在做一个注册类型的 google 表格项目,其中输入量非常高,但是每个单元格中的输入只需要是 1 个数字。因此,拥有一个脚本会很有用,它可以在输入 1 个数字后使光标跳转到下面的单元格。

efunction onEdit(e) {
var sheet = e.source.getActiveSheet();
var activeCell = sheet.getActiveCell();
var col = activeCell.getColumn();
var row = activeCell.getRow();
var value = activeCell.getValue();
if (value.length == 1) {
 sheet.getRange(row + 1, col).activate();
  }
}

但是,这只会使光标跳到输入的单元格下方,当进行另一个操作时,例如单击第 3 个单元格。因此不会使注册更容易。

希望你能帮忙。

【问题讨论】:

  • 不确定您是希望它在您输入时跳转到您所在单元格下方的单元格,还是在您按下 Tab 键或输入时跳转。无论如何,我不认为有一种方法可以在您键入时监视它,而是在您键入的值被注册时监视它。
  • 如果我理解正确的话,您希望能够读取用户开始输入的那一刻,以便他们只能在每个单元格中引入 1 个字符,然后将活动单元格移动到下一个单元格,对吗?如果没有,您能否提供一个最小的可重现示例,以便我们更好地了解您正在尝试做什么?
  • 正确,当用户输入 1 个字符时,我希望活动单元格成为下面的单元格。

标签: google-sheets


【解决方案1】:

恐怕在编辑完成之前无法识别用户正在输入的内容。您可以做的是识别他们引入的值是否超过 1 个字符,并通过仅采用他们引入的第一个字符来编辑单元格。

您可以尝试以下脚本:

function onEdit(e) {
  var ss = e.source;
  var val = e.value;
  var r = e.range;

  if(val.length>1)
  {
    var x  = val.substring(0,1);
  }
  r.setValue(x);
}

参考:

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 2021-02-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    相关资源
    最近更新 更多