上下文
我有一个g-sheet,它起到了一种";母版纸";其中,所有的东西都从一堆其他外部电子表格中涌入,这些电子表格全天都在实时更新。
我连接的每个外部电子表格,都通过导入范围功能路由到主电子表格中自己的选项卡
所有这些选项卡然后使用行ID#路由到一个主选项卡,这样每个人都可以在该选项卡上工作
问题
在这个所有东西都放在上面的主选项卡中,我有一个宏对行进行排序,将最新的行放在顶部,以及其他保持数据干净的事情。随着时间的推移,我会连接更多的图纸,并添加到宏中的数字中以容纳新行。
Macro几天前开始抛出";访问id为"的文档时服务电子表格超时;那么id就是master选项卡本身的id#。
要知道,在不使用大带宽宏的情况下,可能有更流畅的方法可以做到这一点,但优化脚本以最适合用例远远超出了我的经验水平。我的宏如下所示:
function MasterSormat2() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('D1').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues([''])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(4, criteria);
criteria = SpreadsheetApp.newFilterCriteria()
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(4, criteria);
criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues([''])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(4, criteria);
spreadsheet.getRange('A1:AP11001').activate();
spreadsheet.getActiveRange().offset(1, 0, spreadsheet.getActiveRange().getNumRows() - 1).sort({column: 4, ascending: false});
spreadsheet.getRange('A:AM').activate();
spreadsheet.getActiveRangeList().setFontFamily('Calibri')
.setHorizontalAlignment('left');
spreadsheet.getRange('P:S').activate();
spreadsheet.getActiveRangeList().setHorizontalAlignment('right');
spreadsheet.getRange('U:U').activate();
spreadsheet.getActiveRangeList().setHorizontalAlignment('right');
spreadsheet.getRange('AA:AG').activate();
spreadsheet.getActiveRangeList().setHorizontalAlignment('right');
spreadsheet.getRange('AL:AL').activate();
spreadsheet.getActiveRangeList().setHorizontalAlignment('right')
.setNumberFormat('"$"#,##0.00');
spreadsheet.getRange('D4').activate();
};
当谈到改进这一点时,有人能为我指明正确的方向吗?
感谢您在这里提供的任何帮助,我期待着进一步学习
Tl;Dr:
如果您能够再次录制宏,请考虑使用转到范围或名称框,而不是使用鼠标在电子表格中从一个位置移动到另一个位置,因为每次单击工作表和范围都会添加一条激活相应工作表/范围的语句。.activate()
方法通常比其他方法慢得多。
再次记录宏的另一种选择是删除像spreadsheet.getRange(harcoded_ref).activate()
这样的语句,并用替换像spreadsheet.getActiveRangeList()
这样的语句
- CCD_ 4
- CCD_ 5
等。
为此,您需要一些编写代码的技能、JavaScript知识和电子表格服务(ClassSpreadsheetApp(知识。为了能够在谷歌应用程序脚本中获得最佳性能,您应该考虑使用高级表单服务,更具体地说是spreadsheet.batchUpdate方法。
转到范围
尝试以下键盘快捷键
Windows | Mac |
---|---|
Ctrl+Alt+ Ctrl+Alt+, | +选项+ +选项+, |
相关内容
- 没有找到相关文章
最新更新
- Mac上已安装但未被IDLE识别
- 包含相同站点参数的PHP setcookie函数不起作用
- 如何修改Dart中的"打印"功能?
- 在Oauth应用程序中,如何从express服务器传递访问令牌到react应用程序?
- <a> 在按钮提交时打开选定的标签链接?
- 具有重复图像作为装饰的水平可滚动容器
- 错误:宏"断言"传递了 2 个参数,但只占用 1 个参数
- 如何检测Android设备在其浏览器中访问的链接并将url发送到另一个应用程序?
- #SET TERMINATOR语句的目的是什么?
- 类型错误:只能将 str(不是"字节")连接到套接字模块中的 str
- react-router-dom:如何用某种模式匹配url
- 为什么将单个字节类型转换为字符串在go中不起作用?
- 如何在MySql中返回不同的列而不是标准列?查询
- Listener Facebook Login in Supabase Flutter
- Javascript添加类到多个元素,除了一个
- 在windows上使用R导入xkcd字体(适用于xkcd包)
- 如何在用户输入不正确的值后使python循环程序?
- <picture> 元素在媒体查询/属性之间闪烁到 100% 宽度
- Django模板-使用字符串从表单中呈现一个字段
- didReadRSSI事件在声明后台模式进入后台时停止工作
- Twilio SMS (Java)执行失败
- 如何使用相同的算法创建两个SSH密钥?
- c -指针到数组,malloc和越界访问
- 遍历JavaScript数组不能产生正确的结果
- RegEx在SAP 7.5中以字符的第一次出现开始并结束
- 使用MS Graph Rest APi上传文件到Documentset
- 忽略正则表达式搜索中的模式错误,不要使搜索崩溃
- 在一个帐户上有多个Youtube频道.如何将提供的API密钥限制为仅1个通道?
- 如何根据输入列表中的项数更改URL ?
- scipy. integrated .quad给出ValueError:给出无效的可调用对象
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium