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

如何修改VBA代码实现仅在A列最后一行对应C列粘贴公式

解决VBA公式仅填充到A列对应最后行的问题

修改后的完整代码

Sub Formula_property()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim lastRow As Long
    
    Set wb = ActiveWorkbook
    Set ws = Sheets("Sheet3")
    
    ' 获取A列最后一个非空单元格的行号
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 仅在C2到C列对应最后行的区域填充公式
    ws.Range("C2:C" & lastRow).Formula = "=extractDate(A2)"
End Sub

关键修改说明

  • 动态获取最后行:通过ws.Cells(ws.Rows.Count, "A").End(xlUp).Row精准定位A列最后有数据的行号,避免固定行数导致的冗余填充。
  • 动态设置填充范围:将原固定的C2:C2500改为ws.Range("C2:C" & lastRow),确保公式只填充到A列数据对应的C列位置。
  • 优化代码效率:移除不必要的wb.Activate和ws.Select,直接通过工作表对象操作单元格,避免界面交互,提升代码稳定性。

额外提示

原公式中的=extractDate(A2:A2)可简化为=extractDate(A2),VBA填充时会自动将相对引用的A2调整为对应行的单元格(如C3对应A3),效果一致且更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:01:55