2017-04-05 3 views
0

Ich habe den folgenden Code:automatisch Zeile basierend auf Zellendaten bewegen

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

    if(s.getName() == "Out" && r.getColumn() == 10 && r.getValue() == "TRUE") { 
    var row = r.getRow(); 
    var numColumns = s.getLastColumn(); 
    var targetSheet = ss.getSheetByName("Returned/Billed"); 
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); 
    s.getRange(row, 1, 1, numColumns).moveTo(target); 
    s.deleteRow(row); 
    } 
} 

Was ich versuche die ganze Zeile zu tun ist, sich auf die Antwort in Spalte 10, oder J. Basis zu entfernen, sobald es von Blatt "Out" entfernt, muss ich es zu Blatt "Returned/Billed" hinzugefügt haben. Was ich nicht verstehe, ist, dass es funktioniert hat, als ich diesen Code zum ersten Mal hinzugefügt habe. Aber jetzt funktioniert es nicht.

Ich habe diese Tabelle mit einer AppSheet-App verknüpft, auf die nur ich Zugriff habe und die ich verwende. Aber wenn ich die Spalte 10/J auf TRUE ändere, wird die Änderung nicht ausgeführt.

ich auch diese E-Mail gestern Abend von Google bekam:

Start Function Error Message Trigger End 
4/3/17 8:27 PM onEdit TypeError: Cannot call method "getActiveSheet" of undefined. (line 3, file "Code") time-based 4/3/17 8:27 PM 

Wie bekomme ich das richtig so kann ich die app, die ich erstellt laufen?

Vielen Dank im Voraus!

Antwort

0

meisten AppSheet Fragen gestellt und beantwortet bei http://community.appsheet.com

Um Ihre Frage, es klingt wie Sie ein onEdit Trigger Feuer auf die Tabelle als Ergebnis eines Updates über die App AppSheet erfasst haben wollen. Leider wird das nicht funktionieren. Sie müssen stattdessen einen zeitgesteuerten Trigger verwenden.

Verwandte Themen