繁体   English   中英

谷歌表格脚本编辑器删除不需要的行

[英]Google sheets Script Editor Remove UnNeeded Rows

我试图使用谷歌表格脚本编辑器创建一个脚本来删除除最后 10 行数据之外的所有数据。 关闭我来了,这段代码仍然没有成功。

function deleteUnNeededRows(startFrom)
{
   var sheet = SpreadsheetApp.getActive().getSheetByName('testdoc');
    // get last row index
    var lastRowWithContent = sheet.getLastRow();

    if(lastRowWithContent < startFrom)
    {
        // rows below startFrom are already blank!
        return;
    }
    
    // count total number of rows to be deleted
    // +1 is to include the last row
    var totalRowsToBeDeleted = lastRowWithContent - startFrom + 10;
    
    sheet.deleteRows(startFrom, totalRowsToBeDeleted); 
}

解决方案:

function deleteUnNeededRows(){  
   var startFrom = 1;
   var keep = 10;
   var sheet = SpreadsheetApp.getActive().getSheetByName('testdoc');
   var nrows = sheet.getLastRow() - startFrom - keep + 1;
   if(nrows>0){
    sheet.deleteRows(startFrom, nrows); 
   }
}

请注意, getLastRow()返回包含内容的最后一行。 例如,如果您有 10 列,前10列的最后一行内容为55 ,但工作表末尾的第20列中有一个随机值,假设第900行,那么900将是工作表中的最后一行。 请注意这一点,否则您将需要其他方法来获取最后一行的内容。

我删除了您的 function 的论点。 使用它完全没问题,但是你必须通过从其他地方调用它来测试这个 function。 为了消除混淆,您可以像这样测试它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM