Excel批量替换时,如何让公式引用替换所在行的行号?
实现Excel VBA替换时引用当前行的公式
你原来用Replace方法写死了固定引用B3,所以所有行的"EMPTY"都会被替换成=B3。要让替换后的公式自动引用当前行的B列,不能直接用Replace,得改成遍历单元格的方式:
Dim cell As Range For Each cell In Worksheets("Sheet1").Range("A:A").SpecialCells(xlCellTypeConstants) If cell.Value = "EMPTY" Then cell.Formula = "=B" & cell.Row End If Next cell
代码说明
- 用
SpecialCells(xlCellTypeConstants)只遍历A列里的常量单元格,跳过空单元格和公式单元格,提升运行效率 - 逐个判断单元格值是否为"EMPTY",符合条件的就设置公式,通过
cell.Row获取当前行号,自动拼接成对应行的B列引用
如果需要忽略大小写匹配,可以把判断条件改成UCase(cell.Value) = "EMPTY"。
内容的提问来源于stack exchange,提问作者user2638894
相关产品推荐
相关产品推荐

