0
マスターリストと呼ばれるGoogleスプレッドシートがあります。それは2つのシート「レスポンス」と「マスターレスポンス」を含んでいます。レスポンスシートには約3000行のデータがあり、「レスポンス」シートの最初の列は「レスポンス」と呼ばれます。私は '応答'シートの行を 'マスター応答'シートにコピーしたいと思います。カラムに 'called'という値があり、 'レスポンス'シートに新しいエントリが作成されるたびに、適切なデータ行が 'マスターレスポンス'シートにコピーされます。私は現在、次のコードを使用していますが、行は 'レスポンス'シートから移動され、コピーされません。私は、行が「マスターレスポンス」シートにコピーされ、「レスポンス」シートにも残るスクリプトを必要としていました。 ありがとうございます。条件に基づいてシート間でデータをコピーするスクリプト
function onEdit()
{
var sheetNameToWatch = "Response";
var columnNumberToWatch = 1;
var valueToWatch = "Called";
var sheetNameToMoveTheRowTo = "Master Response";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getActiveCell();
if (sheet.getName() == sheetNameToWatch && range.getColumn() ==
columnNumberToWatch && range.getValue() == valueToWatch)
{
var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(2, 1, sheet.getLastRow(),
sheet.getLastColumn()).moveTo(targetRange);
}
}
こんにちは、ありがとうございます。このコードは、データをコピーする際に問題なく動作します。しかし、特定の行をコピーする代わりに、シート全体をコピーします。なぜこれが起こっているのか分かりません。 –
範囲を変更する.... 'getRange(row、column、numRows、numColumns)' ...ここで 'sheet.getLastRow()'は最後の数値を返します – Ritz
ありがとうございました。コードは正常に動作します。 IDで別のワークシートに行をコピーするコードを変更することは可能ですか?それで、結果を同じワークブックの別のシートと別のワークブックのシートにコピーしたいということです。私はそれを修正しようとしたが固執した。 –