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

[VBA]在Offset函数中使用已定义变量的值作为参数

VBA 实现方案

直接使用以下代码即可实现需求,可根据实际表格调整序号列参数:

Sub 批量填充日期()
    Dim lastRow As Long
    Dim seqCol As String
    Dim offsetRow As Long

    ' 此处修改为实际存储序号的列,比如序号在C列就改为"C"
    seqCol = "B"

    ' 定位序号列最后一个有数值的单元格行号
    lastRow = Cells(Rows.Count, seqCol).End(xlUp).Row
    ' 计算Offset所需的动态行参数
    offsetRow = -(Cells(lastRow, seqCol).Value - 1)
    ' 定位序号1对应的日期单元格,批量填充到所有序号对应行的日期列
    Cells(lastRow, seqCol).Offset(offsetRow, -1).Copy _
        Destination:=Range(Cells(lastRow, seqCol).Offset(offsetRow, -1), Cells(lastRow, seqCol).Offset(0, -1))
End Sub
  • 代码默认序号列左侧为日期列,和你要求的Offset列参数固定为-1的逻辑完全匹配
  • 用End(xlUp)定位最后一行可规避表格空行干扰,适配动态变化的表格长度

运行前请确认序号列是从1开始的连续整数,无空值、非数值内容,避免偏移量计算出错

内容的提问来源于stack exchange,提问作者Here 2 Learn VBA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:51:01