我正在尝试修改此脚本,以将列中包含“名称”一词的整行复制到新工作表中。
得到“例外:范围内的行数必须至少为 1”,因此目前根本不起作用!有人可以帮忙吗?
谢谢
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Admin')
.addItem('Copy name rows', 'copyNameRows')
.addToUi();
}
function copyNameRows() {
const sourceSheet = SpreadsheetApp.getActive().getSheetByName('Source');
const targetSheet = SpreadsheetApp.getActive().getSheetByName('Target');
const dataValues = sourceSheet.getDataRange().getValues();
targetSheet.getRange(2,1,targetSheet.getLastRow() - 1, 28).clear();
var currentTargetRow = 2;
for (var i = 0 ; i < dataValues.length; i++) {
if (dataValues[0][24].toString().toLowerCase() == 'name' ||
dataValues[0][25].toString().toLowerCase() == 'name' ||
dataValues[0][26].toString().toLowerCase() == 'name' ||
dataValues[0][27].toString().toLowerCase() == 'name') {
sourceSheet.getRange(i + 1, 1, 1, 28).copyTo(targetSheet.getRange(currentTargetRow, 1));
currentTargetRow++;
}
}
}
摆弄范围值但没有乐趣...据我了解,它应该检查第 24、25 和 26 列中的“名称”一词,如果存在,则将该行的内容复制到新工作表中?
试试这样:
Array.some()
数组过滤器
为您更新评论