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

在MS Project VBA中调用Excel Autofill语法失效问题排查

问题:MS Project VBA操作Excel时AutoFill无效果

我在Excel中录制的宏可正常运行,代码如下:

'Setting Planned Work
Range("C14").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[-1]-R[-3]C"
Range("C14").AutoFill Destination:=Range("C14:M14")

但在MS Project VBA中编写的操作Excel的代码,仅公式写入步骤正常,最后一行AutoFill无效果,已确认Excel引用正常:

Dim PTOutput As Excel.Worksheet
'Step6: Setting Planned Work
PTOutput.Range("C14").Select
PTOutput.Range("C14").FormulaR1C1 = "=RC[-1]-R[-3]C"
PTOutput.Range("C14").AutoFill Destination:=PTOutput.Range("C14:M14")

解决方案

跨应用程序(如Project操作Excel)时,Select方法依赖Excel窗口的激活状态,容易导致操作失效。直接通过工作表对象操作单元格,同时明确指定填充类型,即可解决问题:

Dim PTOutput As Excel.Worksheet
'Step6: Setting Planned Work
With PTOutput
    '直接写入公式,无需Select
    .Range("C14").FormulaR1C1 = "=RC[-1]-R[-3]C"
    '明确指定填充目标和类型
    .Range("C14").AutoFill Destination:=.Range("C14:M14"), Type:=xlFillDefault
End With

说明

  1. 移除Select操作:跨应用时,选中单元格的操作无法保证Excel处于激活状态,直接操作单元格对象更可靠。
  2. 指定AutoFill类型:添加Type:=xlFillDefault参数,确保按默认规则填充(和Excel录制宏的行为一致),避免因上下文缺失导致填充失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:51:53