我希望根据编辑特定单元格的时间将“待定”工作表复制到“实时”工作表中选择一行单元格。“
到目前为止,我可以在编辑列中的特定单元格时将整行复制为“是”。
我希望该行中的特定单元格能够复制并移动onEdit,而不是整行。例如,复制,将“挂起”表格中编辑的行的第2,3,5,6列而不是4,7,8等的内容复制到“实时”表格。
此外,当复制到“实时”工作表时,“待定”工作表的第2列与“实时”工作表的第2列对齐。但对于第5和第6列,它们都应移动到第4列以来的列未复制过来。所以“待定”5应该取代“Live”4而“Pending”6应取代“Live”5。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Pending" && r.getColumn() == 1 && r.getValue() == "Yes") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Live");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
答案 0 :(得分:1)
试试这个:
function onEdit(e)
{
var ss=e.source;
var sh=ss.getActiveSheet();
var rg=sh.getActiveRange();
var row=rg.getRow();
var col=rg.getColumn();
Logger.log(col);
if(sh.getName()=="Pending" && col==1 && rg.getValue()=="Yes")
{
var row = rg.getRow();
var liveSht = ss.getSheetByName("Live");
var vA=sh.getRange(row,col,1,6).getValues();
var liveA=['',vA[0][1],vA[0][2],vA[0][4],vA[0][5]];
liveSht.appendRow(liveA);
}
}