google-apps-script - 带有 Google 表格的 Google Apps 脚本执行顺序
问题描述
在以下代码中让 GAS 按我需要的顺序执行函数时遇到问题:
function setDataValid_(range, sourceRange) {
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit(e){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
var columnToSortBy = 80;
var tableRange = "A2:CB300";
if(aColumn == 4 && SpreadsheetApp.getActiveSheet().getName() == 'Sheet1'){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
var group = SpreadsheetApp.getActiveSheet().getRange(tableRange);
group.sort( { column : columnToSortBy, ascending: true } );
setDataValid_(range, sourceRange);
}
}
此代码检查已编辑的列,按引用正在更新的列的另一列对工作表进行排序,并使用正确的命名范围更新以下列中的单元格(依赖下拉更新)。问题是工作表排序不够快,或者功能没有按正确的顺序触发,并且条目最初所在的位置旁边的单元格正在更新(我不想要),旁边的单元格条目结束的地方没有更新(我希望能补救)。
非常感谢任何和所有建议,感谢您的宝贵时间!
解决方案
推荐阅读
- youtube-analytics-api - 通过api获取youtube交易收入
- javascript - 没有调用 Angular API 调用
- android-studio - 调试时将设备设置为默认值
- jquery - jQuery 和“水上漂浮”效果
- google-sheets - 结合 Sumif、Sum 和 Filter
- python - 尝试划分两个屏蔽数组时出现类型错误
- html - knitr:编织到 HTML - 为图形和表格编号添加前缀
- java - Docker 找不到用户:OpenJdk11 的 passwd 文件中没有匹配的条目
- angular - 错误参考错误:在 Angular 项目中未定义科尔多瓦
- python-3.x - Python 变量范围捕获规则