2016-12-24 20 views
0

私は再利用されたスクリプトを使用して、新しいスプレッドシートに行をコピーしています。正しいセル値を入力するとうまく動作します(3列目の「One Time Service」)。しかし、私は価値がで貼り付け/してやらときZapierと行にリンクされた私のスプレッドシートは全体のコピー取得されていない持ってGoogleのシートに貼り付けた値でOnEditが機能しない

function onChange(event) { 
// assumes source data in sheet named Needed 
// target sheet of move to named Acquired 
// test column with yes/no is col 4 or D 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = event.source.getActiveSheet(); 
    var r = event.source.getActiveRange(); 

    if(s.getName() == "Booking completed" && r.getColumn() == 4 && r.getValue() == "One Time Service") { 
    var row = r.getRow(); 
    var numColumns = s.getLastColumn(); 
    var targetSheet = ss.getSheetByName("Copy of One Time"); 
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); 
    s.getRange(row, 1, 1, numColumns).copyTo(target); 
    } 
} 
+0

[GoogleAppスプレッドシートでは、onEditイベントハンドラをドラッグしてドラッグしてコピーする方法を教えてください。](http://stackoverflow.com/questions/5976855/in-googleapp-spreadsheet-how-do-i-make -onedit-event-handler-react-to-drag-copyi) –

答えて

0

「ワンタイムのコピー」のA1にこの文字列で検索してください:。

=Query('Booking completed'!A:Z,"Select * where D contains 'One Time Service' and D !=''") 

A:Zの列のニーズを調整するか、

この式を「1回コピー」のA1に入れてみてください。

=iferror(if('Booking completed'!$D1="One Time Service",'Booking completed'!$A1:$Z1,"")) 

数式を下にコピーします。空の行を除外するには、列Dにフィルター(データ>フィルター)を適用します。

+0

それを試してみましたが、うまくいきませんでした。また、1分ごとにトリガーを試しましたが、どちらもうまくいきませんでした。 – FinnPegler

関連する問題