You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Project VBA如何避免筛选器无返回结果时的报错问题

问题原因

你当前的判断逻辑执行顺序有误:当筛选器无匹配结果时,ActiveSelection本身就是无效对象,你在访问其.Tasks属性前没有做有效性校验,直接访问就会抛出424「要求对象」错误。

修复方案

在访问ActiveSelection前加入临时错误捕获,先尝试获取Tasks集合,再判断是否为空:

Application.SelectSheet '需选中工作表以保证ActiveSelection正常运行

' 新增临时错误捕获,避免无匹配任务时抛出424错误
Dim objTasks As Object
On Error Resume Next
Set objTasks = ActiveSelection.Tasks
On Error GoTo 0 ' 重置默认错误处理逻辑,避免影响后续代码的错误捕获

If objTasks Is Nothing Then GoTo NextResource

额外优化建议

  • 你当前在FilterApply后的错误判断可以保留,和上述新增的逻辑互不冲突
  • 如果需要判断任务数量,可在确认objTasks不为空后,再访问objTasks.Count属性

内容的提问来源于stack exchange,提问作者Miles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:09:02