自动填写Excel列

问题描述

我正在使用一个宏,该宏会生成一列,该列是表中其他两列的总和。但是,表的行号并不总是相同,因此当我为行数较少的表运行Marco时,该列中的一些额外单元格将为0,是否有办法摆脱它们?

Marco代码在这里:

 Sub sum()
    '
    ' sum Macro
    '
    ' Keyboard Shortcut: Ctrl+s[![enter image description here][1]][1]
    '
        Range("AV1").Select
        ActiveCell.FormulaR1C1 = "AV"
        Range("AV2").Select
        ActiveCell.FormulaR1C1 = "=RC[-6]+RC[-4]"
        Range("AV2").Select
        Selection.AutoFill Destination:=Range("AV2:AV84")
        Range("AV2:AV84").Select
        ActiveWindow.SmallScroll Down:=-30
        Range("AV1").Select
    End Sub

结果在这里:

enter image description here

请帮助谢谢。

解决方法

没有所有的Select ...

Sub sum()
    Dim  lr as long
    With Activesheet
        .Range("AV1").Value = "AV"
        lr = .Cells(.rows.count,"AR").End(xlup).Row 'last occupied row in Col AR
        .Range("AV2:AV" & lr).FormulaR1C1 = "=RC[-6]+RC[-4]"
    End with
End Sub

可用于查看以下内容:How to avoid using Select in Excel VBA

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...