根据活动单元格删除行



我正在尝试删除基于活动单元格的行数据。我看过谷歌的文档,不知道该怎么做。我也搜索过论坛,发现了一些类似的场景,但我无法让它发挥作用。我试图通过修剪一个数据数组并根据数组中的值删除行来实现这一点,但这也不起作用。我确信我把这里的事情搞得过于复杂了。这是我迄今为止的代码。。。

function clearProject() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheetByName('Projects');
  var sourceArray = source.getRange(1,1,10).getValues();
  var sourceCell = source.getActiveCell();
  var sourceData = sourceCell.getValues();
  //var sourceRow = sourceCell.getRange(sourceCell, );
  var target = ss.getSheetByName('Timeline').getRange(1, 1, 10).getValues();
  for (var i = 0; i < sourceArray.length; i++){
    if(i == sourceData){
      sourceCell.clearContent();
    }
  }

谢谢你所能提供的任何帮助!

首先,由于getValues返回,因此不能像这样进行if(i == sourceData)比较

此范围值的矩形网格。返回值的二维数组,按行索引,然后按列索引。这个值的类型可以是Number、Boolean、Date或String,具体取决于单元格的值。空单元格将由空单元格表示数组中的字符串。请记住,当范围索引从1、1开始时,JavaScript数组将从[0][0]进行索引。

我没有赶上你的进球,你能再解释一下吗?

可以这么简单:

function delRowsInActiveRange() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getActiveRange();
  var height = source.getValues().length;
  var rowPosition = source.getRowIndex();
  ss.getActiveSheet().deleteRows(rowPosition, height);
}

此函数将删除包含选定单元格的所有行。

最新更新