我正在嘗試將不相鄰的行移動到同一張紙上的特定行,但我無法讓它作業。到目前為止,我有以下代碼:
function moveRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rowSpec = sheet.getRangeList(["B11","B15"]);
sheet.moveRows("B2","B12")
}
但是,這會回傳以下錯誤:
例外:引數 (String,String) 與 SpreadsheetApp.Sheet.moveRows 的方法簽名不匹配。[email protected]:4
從我的搜索中,我還沒有找到移動多個不相鄰行的方法,所以我的第一個問題是:這可能嗎?
如果沒有,是否有解決方法,如果有,如何解決?
這是我正在處理的作業表:https ://docs.google.com/spreadsheets/d/1BKOxgZmAIoAzpmrF5NBChjFMXheyUEkf7SXVXCJs3zw/edit?usp=sharing
uj5u.com熱心網友回復:
修改點:
- 在您的腳本中,
var rowSpec = sheet.getRangeList(["B11","B15"]);未使用。 - 的引數
moveRows(rowSpec, destinationIndex)是rowSpec(Range) 和destinationIndex(Integer)。 - 從
I am trying to move non-adjacent rows to specific rows on the same sheet和你的展示腳本,我想你可能想從第 2 行移到第 12 行。如果我的理解是正確的,如何修改它如下?
修改后的腳本:
function moveRows2() {
var obj = [{"fromRow": 2, "toRow": 12}];
var sheet = SpreadsheetApp.getActiveSheet();
obj.forEach(({fromRow, toRow}) =>
sheet.moveRows(sheet.getRange(`${fromRow}:${fromRow}`), toRow)
);
}
運行此腳本時,第 2 行移至第 11 行。
如果要移動其他行,請將其添加到
objlikevar obj = [{"fromRow": 2, "toRow": 12}, {"fromRow": 3, "toRow": 13},,,]。或者,從你的腳本中,如果你想將單元格“B2”移動到單元格“B12”,那么下面的修改怎么樣?
var obj = [{"fromCell": "B2", "toCell": "B12"}]; var sheet = SpreadsheetApp.getActiveSheet(); obj.forEach(({fromCell, toCell}) => sheet.getRange(fromCell).moveTo(sheet.getRange(toCell)) );- 在這種情況下,單元格值移動后的單元格變為空。
參考:
- forEach()
- moveRows(rowSpec,destinationIndex)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/453694.html
