2017-10-09 59 views
0

我希望根據何時編輯特定的單元格來從「等待」表複製到「活動」表中選擇一行的單元格「是」。複製一個特定的範圍不是整行到另一個基於單元值的谷歌表格

到目前爲止,我可以在列中的特定單元格編輯爲「是」時複製整行。

我想在該行中的特定單元格複製並移動onEdit,但不是整個行。例如,將「待處理」工作表中編輯的行的第2,3,5,6列的內容複製到「實時」工作表中。但是,對於第5列和第6列,它們應該同時移動到「實時」工作表上,其中「待處理」工作表的第2列與「實時」工作表的第2列相對應。但是,對於第5列和第6列,自第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); 
    } 
} 

回答

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); 
    } 
} 
相關問題