![](/img/trans.png)
[英]Copy row to another sheet on Google Sheets based on criteria and cell value
[英]Copy over a specific range not whole row to another google sheet based on cell value
我希望根據編輯特定單元格的時間將行的選定單元格從“待處理”工作表復制到“實時”工作表,說“是”。
到目前為止,當將列中的特定單元格編輯為“是”時,我可以復制整行。
我希望該行中的特定單元格復制並移動onEdit,而不是整個行。 例如,將在“待處理”工作表中編輯的行的第2、3、5、6列而不是4、7、8等的內容復制到“實時”工作表中。
同樣,當復制到“活動”工作表時,“待處理”工作表的第2列與“活動”工作表的第2列對齊。但是對於第5列和第6列,它們都應從第1列移到第一列4未被復制。 因此,“待處理” 5應該代替“實時” 4,“待處理” 6應該代替“實時” 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);
}
}
嘗試這個:
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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.