用于在工作表上分隔数据行的代码:解决方案

时间:2018-08-27 14:28:53

标签: google-apps-script google-sheets

情况:妻子是学校的校长。教师将课程计划(通过Google表单的变体)提交到她的Google云端硬盘中的文件夹中。同时在Google表格中填充教师姓名,提交周的星期一(“关键字”)和“上传的文件”。如果右键单击“文件名”,则选择“打开”。因此,您在连续的行中有10个8月6日,13日,20日,27日的条目。要在提交星期的星期一之前分开提交,可以使用以下代码:

function RowInsert() { 
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); 
  var lr = ss.getLastRow() 
  var c = 0;
  var data = ss.getRange(1, 1, lr, 1).getValues() 
  for (r = 1; r < (data.length) + c; r++) {   
    if ((ss.getRange(r, 1).getValue() !== "" ) && 
        (ss.getRange(r+1, 1).getValue() !== "" )) { 
      if (ss.getRange(r, 1).getValue() !== ss.getRange(r+1, 1).getValue() && 
          ss.getRange(r, 1).getValue() !== "" ) {
        ss.insertRowBefore(r+1);  
        c = c + 1;
      }
    }
  }
}

如果使用此代码,显然要确保引用了正确的列。希望这对某人有帮助。我是Google脚本的VBA程序员,这要感谢Nelson先生帮助我入门。我还编写了一个删除空行的函数。在我开发/测试代码时,已经厌倦了物理删除空行以进行重新测试。我也可以提供此代码。谢谢大家。

0 个答案:

没有答案