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

无需知晓行号,在VBA中将活动行值应用于公式

VBA动态设置Left公式并支持向下填充的解决方案

问题场景

我编写了一个VBA宏,通过Do Until循环从E2开始处理前若干行:

  • 循环内的行使用公式 =Left($F2,8)
  • 循环结束后,活动单元格(示例为第10行)需要设置公式 =Left(F[当前活动行号],4),且该公式需支持向下填充,不能绑定固定单元格,要自动识别行号延续。

尝试的代码

Sub Adding_Columns()
    Dim a As Integer
    Dim x As Integer
    Dim y As Integer
    Dim z As Integer
    Dim count As Long

    Application.ScreenUpdating = False

    a = 0
    x = 1
    y = 3
    z = 2

    Sheets(x).Select
    Range("A1").EntireColumn.Insert
    Range("A2").Select
    ActiveCell.Formula = "=Left($B2,4)"
    Range("D1").EntireColumn.Insert
    Range("D1").EntireColumn.Insert
    count = Application.CountA(Range("F2:F250")) - Application.CountIfs(Range("F2:F250"), "*-*")
    Range("E2").Select
        Do Until a = count
            ActiveCell.Formula = "=Left($F2,8)"
            ActiveCell.Offset(1, 0).Select
            a = a + 1
        Loop
    ActiveCell.Formula = "=Left(" &.Offset(1,0)",4)"
End Sub

解决方法

通过拼接活动单元格的Row属性动态生成公式,既避免了固定单元格绑定,又能支持向下填充时自动识别行号:

ActiveCell.Formula = "=Left($F" & ActiveCell.Row & ",4)"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:45:33