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

Excel VBA 基于引用单元格的rangesdynamic动态范围函数实现问询

VBA 自定义动态范围函数 rangesdynamic 实现

实现步骤

  1. 按下Alt + F11打开VBA编辑器
  2. 右键点击当前工作簿名称,选择「插入」-「模块」
  3. 将下方代码粘贴到模块中,保存即可使用

完整VBA代码

Function rangesdynamic(cellreference1 As Range, cellreference2 As Range) As Range
    ' 开启易失性,单元格内容/位置变动时自动更新范围
    Application.Volatile
    ' 以两个传入单元格的坐标为起止点,返回连续范围对象
    Set rangesdynamic = Range( _
        Cells(cellreference1.Row, cellreference1.Column), _
        Cells(cellreference2.Row, cellreference2.Column) _
    )
End Function

使用说明

  • 函数语法:rangesdynamic(单元格引用1, 单元格引用2),返回值为连续Range对象,可直接传入所有需要范围参数的工作表函数
  • 示例:统计A2到A10范围内值为Blue的单元格数量,公式可写为:
    =COUNTIF(rangesdynamic(A2,A10),"Blue")
    
  • 两个参数无先后顺序要求,无论传入的引用位置谁上谁下、谁左谁右,都会自动生成包含两个引用的最小连续范围
  • 仅支持传入单元格引用作为参数,直接传入数值、文本等非引用类型会触发参数类型错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:06:03