我目前正在使用此脚本隐藏col K
上包含0的行function Hide() {
var s = SpreadsheetApp.getActive()
.getSheetByName('Sheet1');
s.getRange('K:K')
.getValues()
.forEach(function (r, i) {
if (r[0] !== '' && r[0].toString()
.charAt(0) == 0) s.hideRows(i + 1)
});
}
哪种方法很完美,唯一的一点是,当我运行脚本时,它会逐行隐藏(现在我有很多行需要花费很多时间)。
有没有办法将其改为批量生产?
答案 0 :(得分:1)
第一种形式只使用一个参数rowIndex,第二种形式使用两个参数,rowIndex和numbRows。
显然,使用建议的方法意味着要检查脚本的逻辑。
答案 1 :(得分:1)
这是制作魔法的脚本
function Hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Ventas");
var currentRange = ss.getRangeByName("RangeCalculation");
var rangeStart = currentRange.getRow();
var values = currentRange.getValues();
var index = 0, rows = 1;
var show = !(values[0][12] == "" );
for (var i = 1, length = values.length; i < length; i++) {
if (values[i][0] == 1 ) {
if (show) {
sheet.showRows(rangeStart + index, rows);
show = false;
index = i;
rows = 1;
} else
rows++;
} else {
if (show)
rows++;
else {
sheet.hideRows(rangeStart + index, rows);
show = true;
index = i;
rows = 1;
}
}
}
if (show)
sheet.showRows(rangeStart + index, rows);
else
sheet.hideRows(rangeStart + index, rows);
}