我需要創建一個函式,該函式使用從上面的行復制的公式添加行。腳本啟動后,它應該會在作業表末尾產生準確的空白行數(在此代碼中設定 5)。
我設法創建的代碼計算了應該添加的行數,但最后只添加了一行復制的公式。
請幫助我通過“rowstoadd”引數編輯此代碼以使函式的結果倍增。
作業表影像
function autoaddRows() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Harmonogram');
var range = sheet.getRange("B2:B").getValues();
var lastRowB = range.filter(String).length 2;
var lastRowA = sheet.getLastRow();
var blanknrows = sheet.getLastRow() - lastRowB;
if (blanknrows < 5) {
let rowstoadd = 5 - blanknrows;
Browser.msgBox(rowstoadd);
let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
let lastRowIndex = sheet.getLastRow();
let existingRange = getRowRange(sheet, lastRowIndex);
sheet.insertRowAfter(lastRowIndex);
let newRange = getRowRange(sheet, lastRowIndex);
existingRange.copyTo(newRange);
newRange.setFormulas(newRange.getFormulas());
newRange.clearNote();
}
function getRowRange(sheet, rowIndex) {
return sheet.getRange(rowIndex, 1, 1, sheet.getLastColumn());
}
}
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想保留 5 個新的空行。
- 例如,當“A”列的最后一行是 10 并且“B”列的最后一行是 9 時,您要添加 4 個新行。
- 此外,您希望將公式放入插入行的“B”列。
在這種情況下,下面的修改腳本怎么樣?
修改后的腳本:
function autoaddRows() {
var addRows = 5;
var sheet = SpreadsheetApp.getActive().getSheetByName('Harmonogram');
var range = sheet.getRange("B2:B").getValues();
var lastRowB = range.filter(String).length 1;
var lastRow = sheet.getLastRow();
var blanknrows = lastRow - lastRowB;
var diff = addRows - blanknrows;
if (diff > 0) {
sheet.insertRowsAfter(lastRow, diff);
// var range = sheet.getRange("B" lastRowB);
// range.copyTo(range.offset(1, 0, diff 1), SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
var numberOfCol = sheet.getLastColumn() - 1;
var range = sheet.getRange(lastRowB, 2, 1, numberOfCol);
range.copyTo(range.offset(1, 0, diff 1, numberOfCol), SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
range.clearNote();
}
}
- 在此修改中,檢索列“A”和列“B”之間的最后一行之間的差異。并且使用差異插入空行。
- 在您的腳本中,
newRange.clearNote();使用了。所以,我也添加range.clearNote();. 如果您想洗掉它,請洗掉它。
參考:
- insertRowsAfter(afterPosition, howMany)
- 復制到(目標,復制粘貼型別,轉置)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/419482.html
標籤:
