Google Sheets 宏可将一行数据复制到另一张纸上的下一个空行

问题描述 投票:0回答:1

我是 Google 表格和宏的新手,需要一点帮助。我正在尝试将一系列数据(行)从 'Front Sheet' 选项卡上的

A4:H4
复制到
'Data'
选项卡上的下一个空行。

我已经记录了宏并尝试修改它以添加一些代码以将其放在最后一行,但我不太确定如何执行此操作。如果您有任何帮助,我将非常感激。

这是我录制的(

basic
)代码:

function Copydata() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A4:H4').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data'), true);
spreadsheet.getRange('A3').activate();
spreadsheet.getRange('\'Front Sheet\'!A4:H4').copyTo(spreadsheet.getActiveRange(),
SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); 
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Front Sheet'), true);
spreadsheet.getRange('A7').activate();
};
google-sheets google-apps-script copy macro-recorder
1个回答
0
投票

获取目标范围的最后一行

基本上,您要在这里使用的是一个名为 GetLastRow() 的方法。

我创建了一个简单的解决方案,它已经完成了您期待做的事情,您可以将其用作未来项目的基础。

示例代码:

function copySheettoAnotherSheet() {
  var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Front Tab"); // Change the Sheet Name Depending on your situation
  var targetSheet =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data"); // Change the Sheet Name Depending on your situation
  var copyRangeValues = sourceSheet.getRange().getValues(); // This is the part of getting the Values from your desired range. 
  var pasteRange = targetSheet.getRange(targetSheet.getLastRow()+1,1,copyRangeValues.length,copyRangeValues[0].length); // This is getting a range, that will make sure that you are on the right size of the data you are trying to paste.
  pasteRange.setValues(copyRangeValues) // the pasting of Data
}

参考资料:

获取最后一行()

© www.soinside.com 2019 - 2024. All rights reserved.