删除A列中的单元格时如何删除单个行中的多个单元格

问题描述

有没有办法同时删除一行中的多个单元格。例如,我需要在 Google 表格中同时删除 A2、E2、G2、H2、I2。我知道你可以安装一个按钮,但我需要它适用于所有行,但只适用于那些特定的列。非常感谢任何帮助!

解决方法

每次删除 A 列时,您都可以使用 onEdit Simple Trigger 删除单个行中的特定列。

示例代码:

function onEdit(e){
  var sheet = e.source.getActiveSheet();
  var cell = e.range;
  var row = cell.getRow();
  var col = cell.getColumn();

  //Check if modified cell is in column A and in sheet1 and if cell is blank(deleted)
  if(col == 1 && sheet.getName() == "Sheet1" && cell.isBlank()){
    //Delete Column E(column index 5)
    sheet.getRange(row,5).clearContent();
    //Delete Column G to I (column index 7,8 and 9)
    sheet.getRange(row,7,1,3).clearContent();
  }
}

它有什么作用?

  1. 使用 e.source event object 获取正在修改单元格的工作表以获取活动电子表格,然后使用 getActiveSheet() 方法获取活动工作表。
  2. 使用 e.range event object 获取修改后的单元格范围,然后分别使用 getRow()getColumn() 方法获取行和列索引。
  3. 检查修改后的单元格是否在列索引 1(对于 A 列),检查修改后的工作表是否是您想要的工作表名称(例如“Sheet1”),然后使用 isBlank()

此条件是必要的,以确保在删除特定工作表的 A 列时会删除单元格。除非您希望它应用于所有工作表,否则您可以取消对当前工作表名称的检查。

  1. 使用 getRange(row,column)getRange(row,column,numRows,numColumns) 选择要删除的单元格范围,然后使用 clearContent() 删除其内容

clearContent() 只会删除单元格的内容,并保持格式不变。如果您想删除包括格式在内的所有单元格内容,则可以改用 clear()

参考:


在删除单元格 A2 之前:

enter image description here

删除单元格 A2 后:

enter image description here