私はこの質問の回答を探しましたが、初歩的なスクリプト作成には非常に緑色なので、私が見つけたものを理解できませんでした。実行中のシート上でoneditを実行
私たちはワークリストに使用しているスプレッドシートを持っている - それは3つのタブに分かれています。サンプル/画像/アーカイブ
ユーザーが動作するようにアイテムを収集するには、スプレッドシートにアクセスする - それが完了すると、彼らは、として列Aをマーク「完了」、と私は彼らがそうすると自動的に「アーカイブ」シートに行を移動するには非常に親切ScampMichaelによって提供されたコードを持っている:
function onEdit(event) {
// assumes source data in sheet named Samples
// target sheet of move to named Archive
// test column with Completed is col 1 or A
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Samples" && r.getColumn() == 1 && r.getValue() == "Complete") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Archive");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
私の挑戦は、私はこのコードを同時に動作させることはできませんということです「サンプル」タブと「イメージ」タブの両方に表示されます。これは、スプレッドシートごとに複数のonEdit関数を持つことができないためですが、これまでのところ、両方のタブを表示するようにコードを拡張しようとする私の努力は失敗しました。
ご提供いただけるヘルプは非常に高く評価されています。
イメージシートを処理する別の関数を作成し、それをonEdit関数から呼び出すことができます。イメージシートで何をする必要があるのかは不明です。 –
混乱していることをお詫び申し上げます - イメージシートで全く同じことをする必要があります。私は同じスクリプトと別のファイルの両方でこのコードを複製しようとしましたが、両方のシートで機能する関数を取得できません。 – seerauber