如果此列的第一个单元格为空白,我会尝试编写一个脚本来删除该列。第 1 行有时有内容,有时为空白。我想要一个宏,当第 1 行的单元格为空白时,该宏将删除整个列并检查下一列,直到第 1 行的单元格不再为空白(例如,如果 A1 为空白,则删除 A 列并转到下一列,直到所有列都已测试)。
我无法弄清楚我在哪里犯了代码错误。
我尝试了一个已有的脚本,用于逐行删除,直到没有带有特定空白单元格的行(我尝试自己修改它,以便也将其用于列)。该脚本可以工作,但什么也没做,我没有任何错误。他在这里:
function delmonth() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('CALMON'), true);
var sheet = SpreadsheetApp.getActiveSheet();
var e = sheet.getRange('A' + sheet.getMaxColumns())
.getNextDataCell(SpreadsheetApp.Direction.NEXT)
.getColumn() ;
for (k = 1; k <= e; k++) {
if(sheet.getRange('A' + k).getValue() == '') {
sheet.deleteColumn(k);
k=1;
e--;
if(k==e) {
break
};
SpreadsheetApp.flush();
}
}
}
我很确定我在某个地方犯了一个愚蠢的错误(因为我对编码还不熟悉)。
感谢大家的时间和帮助!
您的代码似乎适合处理行,但您想根据第一行是否为空来删除列。问题可能在于您如何迭代列并检查值。
也许可以尝试这样的事情(由于缺少最少的可重现示例而未经测试):