Google Apps Script -复制粘贴值在同一页和在同一行基于单元格标准



我有一个数据列a:Ak的表。有些数据包含公式,当一行数据完成时(即W列中的状态为"Y")我想复制该行的位置,只超过值。

这是我尝试过的:

function Optimize() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues(); 
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
// This searches all cells in columns W copies and pastes values in row if cell has value 'Y'
if (row[22] == 'Y') {
sheet.getDataRange(sheet.getCurrentCell().getRow() - 0, 1, 1, sheet.getMaxColumns()).activate();
sheet.getActiveRange().copyTo(sheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
rowsCopiedpasted++;
}
}
}

当我在工作表中单击带有"Y"的行中A列中的单元格时值这工作,但我需要它去通过整个工作表和复制/粘贴值的所有行与">

试试这个:

function Optimize() {
const sh = SpreadsheetApp.getActiveSheet();
const rg = sh.getDataRange();
const vs = rg.getValues(); 
const lc = sh.getLastColumn();
let o = vs.forEach((r,i) => {
if(r[22] == "Y") {
sh.getRange(i + 1, lc + 1,1,lc).setValues([r])
}
});
}

最新更新