我想编写一个宏,它将插入一个新列到表中,在标题后的第一个单元格中输入公式,并将其粘贴到该列中的所有单元格到表的底部。
我的问题是定义表的底部。我可以使用下面的命令找到包含数据的最后一行。
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
并且公式部分将始终从这一列开始,并适用于第一个单元格:
Range("E2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]=R[-1]C[-1]"
Range("E2").Select
问题来了;理想情况下,我希望范围从"e1"开始。
ActiveCell.Select
Selection.Copy
Range(Selection, "E10").Select
ActiveSheet.Paste
我试过替换"E10"只有LastRow变量,但我看到这不会工作,因为它只是一个数字。任何帮助将不胜感激!
(我也尝试过这个范围,但由于它是一个新的列,没有办法Excel知道表的底部是按ctrl shift向下;也许它可以调整/改变工作?):
Range(Selection, Selection.End(xlDown)).Select
Range("E2").Resize(LastRow - 1).FormulaR1C1 = "=RC[-1]=R[-1]C[-1]"
您不必选择-只需更改整个范围的FormulaR1C1属性。Resize参数的-1部分是因为您位于第2行。如果您从第10行开始,它将是LastRow - 9
。