空白单元格使用 onEdit() 中断脚本

代理_15x

我编写了这个脚本,通过按回车键从左到右逐行输入数据。

代码:

function onEdit(e) {
   var cell,
       newCell,
       col,
       sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

    col = sheet.getActiveCell();
    newCell =  col.getColumn();

    if (newCell == 7.0) {
       //Processed last column, move to column A
       cell = sheet.getActiveCell();
       cell = cell.offset(1, -6);
       sheet.setActiveSelection(cell);    
    } else {
       cell = sheet.getActiveCell();
       cell = cell.offset(0, 1);
       sheet.setActiveSelection(cell);
       }
}    

它一直有效,直到我到达一个需要留空的单元格。将单元格留空时按 Enter 键不会触发 onEdit() 事件。我可以通过调整前面的单元格 offset() 方法跳过始终为空白的列。但是,我无法找到一种方法来调整有时为空白且有时包含数据的单元格。

我知道如果我只是在单元格中输入一个空格,脚本就会起作用。我不认为在一个看起来空白的单元格中有一个空格会损害我的任何工作表,但我真的很想用代码解决这个问题。

谢谢,吉姆

艾伦·威尔斯

您可以测试空格的单元格值:

if (activeCell.getValue() === " ") {

在没有编辑单元格的情况下,触发器无法检测何时按下 Enter 键。在这种情况下,按空格键,然后按 Enter 可能是最好的选择。如果发现活动单元格有空格,可以立即删除该空格。

activeCell.setValue("");

完整代码:

function runOnEnter() {
  var activeCell,cell,newCell,col,sheet;
  Logger.log('it ran oky')
  sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  activeCell = sheet.getActiveCell();
  col = activeCell.getColumn();

  if (activeCell.getValue() === " ") {//The active cell has one space
    Logger.log('it has a space')
    activeCell.setValue("");//Delete the space
    return;//quit
  }

  if (col == 7.0) {//If this is column 7
    cell = activeCell.offset(1, -6);
    sheet.setActiveSelection(cell);//move to column A
  } else {
    cell = activeCell.offset(0, 1);
    sheet.setActiveSelection(cell);
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在脚本内使用脚本标签可中断脚本

Google表格脚本onEdit的表单响应清除单元格

使用 onEdit() 更改单元格背景

Google表格中基于公式的单元格更改未触发onEdit脚本

用于根据现有 onEdit 函数清空单元格的 Google 工作表脚本?

使用onEdit-根据单元格的内容隐藏行

为什么我的 onEdit 脚本在编辑时没有将单元格复制到相邻的单元格?

寻找一个onEdit脚本,当它被编辑时可用于更改Google表格单元格的颜色吗?

Windows中的中断脚本

将值复制并粘贴到Google表格中的空白单元格或非空白单元格时,如何使onEdit()事件对象起作用?

谷歌表onedit特定单元格

Adazzle Grid OnEdit更改单元格CSS

OnEdit(e) 谷歌表格清除相邻单元格

如何将 OnEdit 脚本转换为 Run-by-button 脚本(使用规则将单元格从 1 个工作表复制到另一个工作表)

Google Apps脚本:onEdit

Gmail onEdit Apps 脚本,

Google Sheets 使用 onEdit 函数创建随机单元格边框

戈多重复中断脚本

Google表格脚本可隐藏无法在onEdit()上使用的列

使用多个 onEdit 函数

Google Form + Apps脚本onEdit

如何使用onEdit触发器获取多个单元格区域的所有旧值

使用onEdit触发器将值返回到Google电子表格中的单元格

Google Apps脚本:onEdit在SpreadsheetApp.openById()上中断-需要在可安装的onEdit()触发器上输入

onEdit() activeCell 触发后获取列中第一个单元格的内容

如何将 onEdit 限制为特定单元格的更改?

根据单元格值将行 onedit(event) 移动到不同的工作表

Google表格会根据单元格内容将光标移至onEdit触发器上

当某个单元格的值更改时,Google工作表onEdit