2016-07-14 16 views
0

"1"の値を3列に追加すると、現在sheet1の行の値をコピーしています。各セルの値をコピーする代わりに、 sheet1上のデータが更新されると、sheet2は更新されます。現在、私が持っている:Googleシートで参照を取得する

function hotList(event) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = event.source.getActiveSheet(); 
    var r = event.source.getActiveRange(); 

    if(s.getName() == "sheet1" && r.getColumn() == 3 && r.getValue() == "1") { 
    var row = r.getRow(); 
    var numColumns = s.getLastColumn(); 
    var targetSheet = ss.getSheetByName("sheet2"); 
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); 
    s.getRange(row, 1, 1, numColumns).copyTo(target); 
    } 

私はここにプラグインすることができますが、任意のアイデアが高く評価されているのcopyToにちょうど簡単な代替があると願っています。

+1

Sheet2のセルに '= Sheet1!B3'のようなものを追加しますか?その場合は、setFormulaを使用してこれを行います。 –

+0

ありがとう、@bookend - そこに私を得るのを助けた。 if(s.getName()== "sheet1" && r.getColumn()== 4 && r.getValue()== "1"){ var row = r.getRow(); var numColumns = s.getLastColumn(); var targetSheet = ss.getSheetByName( "ホットリスト"); var lastRow = targetSheet.getLastRow(); lastRow = lastRow + 1; for(i = 0; i <= numColumns; i ++){ var cellCol = String.fromCharCode(97 + i); var formula = "= sheet1!" + cellCol + row; var target = targetSheet.getRange(lastRow、1 + i); target.setFormula(formula); } } – jezra

+0

問題の解決策が見つかった場合は、回答として投稿してください。 –

答えて

0

ありがとう、@bookend - 私をそこに連れて来ました。

if (s.getName() == "sheet1" && r.getColumn() == 4 && r.getValue() == "1") { 
    var row = r.getRow(); 
    var numColumns = s.getLastColumn(); 
    var targetSheet = ss.getSheetByName("Hot List"); 
    var lastRow = targetSheet.getLastRow(); 
    lastRow = lastRow + 1; 
    for (i = 0; i <= numColumns; i++) { 
     var cellCol = String.fromCharCode(97 + i); 
     var formula = "=sheet1!" + cellCol + row; 
     var target = targetSheet.getRange(lastRow, 1 + i); 
     target.setFormula(formula); 
    } 
} 
関連する問題