0

何らかの理由で、このコードはコピーを行いません。私は何を間違っていますか?

    var targetSheetName="My Target"
    var targetSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(targetSheetName);      
    var sourceRange = SpreadsheetApp.getActiveSheet().getDataRange();    
    sourceRange.copyTo(targetSheet.getRange(targetSheet.getMaxRows()+1, 1));

var sourceRange = SpreadsheetApp.getActiveSheet().getDataRange().getRow(); も試しました。getDataRange() が取得しているデータの範囲が不明であるため、データを割り当てるには、アクティブなシート全体を取得しているため、1行をコピーしようとすると失敗する可能性があると考えました。要するに、私はさまざまなことを試しましたが、何もうまくいかないようです。

私は例を次々と見てきましたが、それらはすべて互いに非常に異なっているため、それらが持っているものを必要なものに変換しようとする障害に遭遇し続けています。上記は、私が最終的に落ち着いて使用するために微調整したものですが、まだ行き詰まっています。

前もって感謝します。

4

1 に答える 1

0

コピーする 1 行 - ソース シートから削除します。おそらくmoveto/appendの方が多いと思います。アクティブ行をコピーしたい

var ss = SpreadsheetApp.getActiveSpreadsheet();
var targetSheetName = "My Target";
var targetSheet = ss.getSheetByName(targetSheetName);
var sourceSheet = ss.getActiveSheet();      
var sourceRow = sourceSheet.getActiveRange().getRow();
var targetRow = targetSheet.getLastRow() + 1;
if (targetRow > targetSheet.getMaxRows()) targetSheet.insertRowAfter(targetRow - 1);
sourceSheet.getRange(sourceRow, 1, 1, sourceSheet.getLastColumn()).copyTo(targetSheet.getRange(targetRow, 1));   
sourceSheet.deleteRow(sourceRow);
于 2012-11-16T19:57:53.697 に答える