问题描述
我正在使用一个宏,该宏会生成一列,该列是表中其他两列的总和。但是,表的行号并不总是相同,因此当我为行数较少的表运行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
请帮助谢谢。
解决方法
没有所有的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