我正在尝试删除范围
中不需要的列和行我一直收到错误Sorry, it is not possible to delete all non-frozen rows.
,但只是间歇性地
从不在列上只有行
我将标题行冻结
我无法弄清楚为什么我会检查以确保我没有删除if (maxRows-lastRow > 0 && maxRows > 1)
所有的行
请帮忙,这很令人沮丧
由于
function ResetRange(arrShtNames) {
var allsheets = arrShtNames;
for (var s in allsheets){
var sheet= SpreadsheetApp.getActiveSpreadsheet().getSheetByName(allsheets[s]);
var maxColumns = sheet.getMaxColumns();
var lastColumn = sheet.getLastColumn();
var maxRows = sheet.getMaxRows();
var lastRow = sheet.getLastRow();
if (maxColumns-lastColumn > 0 && maxColumns > 1){
sheet.deleteColumns(lastColumn+1, maxColumns-lastColumn);
};
if (maxRows-lastRow > 0 && maxRows > 1){
sheet.deleteRows(lastRow+1, maxRows-lastRow);
};
}
}
答案 0 :(得分:1)
试试这个:
我的顶行和左栏都被冻结了。
function resetRange(nA){
//var namesA=['myPage'];
var namesA=nA;
var ss=SpreadsheetApp.getActive();
if(namesA){
for(var i=0;i<namesA.length;i++){
var sh=ss.getSheetByName(namesA[i]);
if(sh.getMaxColumns()>sh.getLastColumn()){
sh.deleteColumns(sh.getLastColumn()+1,sh.getMaxColumns()-sh.getLastColumn());
}
if(sh.getMaxRows()>sh.getLastRow()){
sh.deleteRows(sh.getLastRow()+1, sh.getMaxRows()-sh.getLastRow());
}
}
}
}