![](/img/trans.png)
[英]Copy data from last row of master sheet and paste it in specific cells in another sheet in 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.