我需要一個腳本,在將過濾后的行復制到新作業表后洗掉它們。
這是我必須過濾并復制到新作業表的代碼:
function archiveData() {
const ss = SpreadsheetApp.getActive();
const values = ss.getRange('Template!A3:S')
.getValues()
.filter(row => row[18]); // column S
const targetSheet = ss.getSheetByName('Archive');
appendRows_(targetSheet, values, 1);
}
它利用了appendRows_() 我嘗試了以下代碼但無濟于事:
const ws = ss.getSheetByName("Template");
const colSData = ws.getRange('S3:S').getValues();
for(let i =colSData.length-1;i>=0;i--){
if(colSData[i][0] == true){
//console.log(colSData);
ws.deleteRows(i 1);
}
}
uj5u.com熱心網友回復:
在你的腳本中,作為一個簡單的修改,下面的修改怎么樣?
從:
ws.deleteRows(i 1);
至:
ws.deleteRows(i 3);
在您的腳本中,使用 檢索值
const colSData = ws.getRange('S3:S').getValues();。至此,我認為ws.deleteRows(i 1);可能需要將其修改為ws.deleteRows(i 3);.順便說一句,在您的腳本中,當
const colSData = ws.getRange('S3:S').getValues();修改為時const colSData = ws.getRange('S3:S' ws.getLastRow()).getValues();,程序成本可能會降低一些。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/486533.html
上一篇:根據不同單元格的值更改輸出單元格
