如何在列排序宏中排除「Master To Do List」与「Questions」工作表?
修改排序宏以排除指定工作表
你只需要在宏里添加工作表名称判断逻辑,当当前活动工作表不是「Master To Do List」或「Questions」时,才执行排序操作。修改后的代码如下:
function SortbyColumnD() { var spreadsheet = SpreadsheetApp.getActive(); var activeSheet = spreadsheet.getActiveSheet(); var sheetName = activeSheet.getName(); // 判断当前工作表是否为需要排除的表 if (sheetName !== 'Master To Do List' && sheetName !== 'Questions') { activeSheet.sort(4, true); // 按第4列(D列)升序排序,无需激活整列 } };
关键说明:
- 先获取当前活动工作表的名称,通过条件判断跳过目标工作表
- 原代码里的
activate()步骤是多余的,直接调用工作表的sort()方法即可完成排序
操作步骤:
- 打开你的Google表格,点击顶部菜单「扩展程序」>「Apps脚本」
- 在脚本编辑器中找到原
SortbyColumnD函数,将其替换为上面的代码 - 点击编辑器顶部的保存按钮,命名项目(如果首次保存)
- 返回表格,测试运行该宏即可
内容的提问来源于stack exchange,提问作者Christy Perez
相关产品推荐
相关产品推荐

