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() 正在获取什么范围的数据,所以我认为它可能正在获取整个活动工作表,因此在尝试复制一行时可能会失败。底线是我尝试了各种各样的东西,但似乎没有任何效果。

我在一个又一个例子中查看了一个又一个例子,并且它们都彼此如此不同,我不断遇到障碍,试图将它们所拥有的东西转换成我需要的东西。以上是我最终确定并针对我的使用进行了调整,但我仍然卡住了。

提前致谢。

4

1 回答 1

0

要复制 1 行 - 然后从源工作表中删除。我想可能更多的是移动/附加。我想复制活动行

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 回答