Google apps script 如何在新行下添加新行的脚本
因此,基本上我有一个用于添加新行的宏:Google apps script 如何在新行下添加新行的脚本,google-apps-script,Google Apps Script,因此,基本上我有一个用于添加新行的宏: function Row() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange('66:66').activate(); spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1); spreadsheet.getActiveRang
function Row() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('66:66').activate();
spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('D74').activate();
它会在最后一行之后添加一行,但每当我再次使用宏时,它会在两行之间而不是在新行下添加一行
还有一种方法可以完全复制前一行的格式吗
谢谢 这将在最后一行之后插入一个包含内容的新行,并复制其格式
function newRowAfterContent() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.insertRowAfter(sheet.getLastRow());
sheet.getRange(sheet.getLastRow(), 1, 1, sheet.getLastColumn()).copyFormatToRange(sheet, 1, sheet.getLastColumn(), sheet.getLastRow() + 1, sheet.getLastRow() + 1);
}
对于您的表格:
function newRowAfterNamedRange() {
var sheet = SpreadsheetApp.getActiveSheet();
var namedRangeObj = sheet.getNamedRanges()
.find((range) => range.getName() == "MyRange");
var namedRange = namedRangeObj.getRange();
sheet.insertRowAfter(namedRange.getRow() + namedRange.getHeight() - 1);
sheet.getRange(namedRange.getRow() + namedRange.getHeight() - 1, namedRange.getColumn(), 1, namedRange.getWidth()).copyFormatToRange(sheet, namedRange.getColumn(), namedRange.getColumn() + namedRange.getWidth() - 1, namedRange.getRow() + namedRange.getHeight(), namedRange.getRow() + namedRange.getHeight());
namedRangeObj.setRange(sheet.getRange(namedRange.getRow(), namedRange.getColumn(), namedRange.getHeight() + 1, namedRange.getWidth()));
}
问题是,它在第二个表的最后一行(第78行结束)之后添加了一个新行,但我有一个表在顶部的几行中,新行应该添加。该表在第66行结束。您可以尝试为每个表使用单独的表(选项卡),这将使数据更易于处理。另一个选项是将一个范围命名为所需的表。我知道如何命名一个范围,但我应该向脚本添加什么?如果要使用命名范围,则需要在工作表中获取命名范围的列表,选择第一个,在其末尾追加一行,添加格式,然后展开命名范围以包括新行。我正在做一个例子,它在哪里?找不到:)你能不能只使用
电子表格。getSheets()[0]。appendRow()
?@RafaGuillermo不,他们需要将它插入到表格后面的表格中。请参阅的评论。