我是 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();
};
基本上,您要在这里使用的是一个名为 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
}
参考资料: