繁体   English   中英

Google Sheets 将行复制并粘贴到另一个工作表中,然后从第一个工作表中删除内容

[英]Google Sheets copy and paste row into another sheet and then delete content from the first sheet

我有 2 张具有相同列数的工作表,并且所有列都有相同的标题。 当项目“准备好”时,我希望能够在该行的数据验证中选择“准备好”,并将该行复制到“项目”表并从“预测项目”表中删除该行。 我更希望内容只能从预测表上复制的行中擦除,然后它下面的所有其他具有内容的行都可以向上移动。

按原样,脚本将从预测项目表中复制“就绪”作业,并将其粘贴到项目表中最后一个非空行中。 但是,它似乎不想清除预测表中的内容。 而且我想要在清除就绪项目后立即转移所有项目的附加功能。

function onEdit(e) {     //Move forecasted project to Projects
  if (e.value === 'Ready') {
    var sheet = e.range.getSheet();
    if (sheet.getSheetName() == 'Projects Forecast') {    // Name of the sheet with the forecasted projects
      logSheet = e.source.getSheetByName('Projects');   // Name of the Projects sheet
      var row = e.range.getRow(); 
      var lastRow = logSheet.getLastRow();
      var range = sheet.getRange(row, 1, 1, sheet.getLastColumn()); 
      range.copyTo(logSheet.getRange(lastRow + 1, 1),{contentsOnly:true});
      sheet.clearContents(row);
    }
  }
}

清除内容替换 sheet.clearContents(row) 为

range.clearContent();

但是,我可以建议您通过将 sheet.clearContents(row) 替换为

sheet.deleteRow(row);

然后如果你真的想要相同数量的行,你可以插入一行

sheet.insertRowsAfter(sheet.getMaxRows(), 1);

这应该保留工作表最后一行的格式。

暂无
暂无

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

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