2016-12-24 1 views
0

Ich verwende ein umgewidmet Skript, um Zeilen in eine neue Tabelle zu kopieren. Funktioniert gut, wenn ich den korrekten Zellenwert ("One Time Service" in Spalte 3) eintippe. Aber ich habe meine Tabelle mit Zapier verknüpft und die Zeile wird nicht kopiert immer über, wenn der Wert Zapped wird/eingefügt inOnEdit funktioniert nicht mit eingefügten Werten in Google Tabellen

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

Mögliches Duplikat von [In GoogleApp Spreadsheet, wie kann ich den onEdit-Ereignishandler darauf reagieren, das Kopieren zu ziehen?] (Http://stackoverflow.com/questions/5976855/in-googleapp-spreadsheet-how-do-i-make -onedit-event-handler-react-to-drag-copyi) –

Antwort

0

Diese Abfrage in A1 von „Kopie von One Time“.

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

Passen Sie A: Z an Ihre Spalte an oder

Versuchen Sie, diese Formel in A1 von "Copy of One Time" einzufügen.

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

Kopieren Sie die Formel nach unten. Wenden Sie anschließend einen Filter (Data> Filter) auf Spalte D an, um leere Zeilen auszuschließen.

+0

Versuchte das, aber es hat nicht funktioniert. Habe auch alle 1 Minute einen Trigger versucht und das hat auch nicht funktioniert. – FinnPegler

Verwandte Themen