如何修改VBA代码实现按A列数据行数自动填充H2公式
动态填充H列公式的VBA代码修改方案
原录制的宏固定填充到30533行,无法适配数据行数变化的报表,以下是修改后的代码,可根据A列实际数据行数自动填充H2的公式:
Sub AutoFill_H_Column() Dim lastRow As Long ' 获取A列最后一个非空单元格的行号 lastRow = Cells(Rows.Count, "A").End(xlUp).Row ' 从H2自动填充至H列对应行 Range("H2").AutoFill Destination:=Range("H2:H" & lastRow) End Sub
关键修改说明
- 动态获取行号:
Cells(Rows.Count, "A").End(xlUp).Row会从A列最后一行向上查找,返回第一个非空单元格的行号,精准匹配A列实际数据行数 - 去除冗余操作:删掉了原代码中不必要的
Select操作,直接通过Range对象操作,代码更高效且避免选中单元格导致的异常 - 动态生成填充范围:用
"H2:H" & lastRow拼接目标范围,确保填充到与A列数据对应的最后一行
注意事项
- 如果A列存在中间空白行,该代码会以A列最后一个非空单元格为基准;若需要匹配连续数据的最后一行,可根据实际需求调整行号获取逻辑
- 确保H2单元格已设置好正确的公式,AutoFill会自动调整公式中的相对单元格引用
内容的提问来源于stack exchange,提问作者Rach Cohen
相关产品推荐
相关产品推荐

