次のコードを使用して、1つのシートから別のシートにデータの行全体を移動します。onEditではなく時間ベースのアクションを使用して、行全体を別のシートに移動します
私は、ユーザーがSheetsのonEdit機能をブロックするデータにアクセスして編集するためにAppSheetを使用しています。 AppSheetでは、このスクリプトを「時間ベースのトリガ」に変更して、アプリ内の編集が「シート」で列を直接編集するのと同じ動作をするように提案しています。
簡単に行う方法はありますか?
ありがとうございました!あなたは関数名を見ることができるように
はfunction onEdit(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() == "Stock" && r.getColumn() == 14 && r.getValue() == "Booked") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Bookings");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
こんにちは!お返事ありがとうございます。私はそれを試みましたが、行6と7は "イベントソース"であるのでエラーを返します。申し訳ありませんが、私はこれに完全に初心者ですが、ソースを取得するための代替ですかばかげた質問のように思える? –
イベントオブジェクトは、何らかの編集や変更によってトリガされた場合にのみ、そのオブジェクトの内部に、編集や変更などの種類や種類などのデータが存在する場合にのみ発生します。時間ベースのトリガーは時間に基づいており、編集や変更ではないため、イベントオブジェクトは送信されません。 最終目標として達成したいことを私に説明することができれば、イベントオブジェクトの削除にもっと手伝ってくれるかもしれません。 – Umair