使用AutoFill时如何在VBA模块中控制单元格区域
解决Excel自定义VBA函数AutoFill时固定参数区域的问题
直接在工作表公式里给第一个参数(表头行区域)加上绝对引用标记$,第二个参数保持相对引用即可,具体操作如下:
- 绝对引用表头行区域:在单元格地址的行号前加
$(如果列也需要固定,就给列号前也加$)。比如表头是A1:C1,写成$A$1:$C$1(完全固定,横竖填充都不变),或者A$1:C$1(仅行固定,列可随横向填充变化)。 - 第二个参数用相对引用:直接写单元格区域(比如A2:C2),不带
$,这样AutoFill时会自动根据填充方向动态调整。
举个实际例子:
在D2单元格输入公式:
=JOIN($A$1:$C$1, A2:C2)
向下AutoFill到D3、D4时,公式会自动变为:
=JOIN($A$1:$C$1, A3:C3) =JOIN($A$1:$C$1, A4:C4)
完美实现表头区域固定、第二个参数动态变化的需求。
注意:这个逻辑和你的VBA函数代码本身无关,完全依靠Excel的引用规则实现,不用修改JOIN函数的VBA代码。
内容的提问来源于stack exchange,提问作者Ludis studio
相关产品推荐
相关产品推荐

