我正在尝试使用 Excel 中的宏记录器来记录宏来填充一列单元格,但是因为每次填充的单元格数量不同,所以它要么填充得太短,要么填充得太长,这似乎是因为宏识别单元格范围及其固定。
无论如何,我可以让它填充到最后填充的相邻单元格。例如。自动填充沿着 E 列,直到到达 D 列中最后填充的行。我已经看过这里的一些示例,但代码看起来都非常不同,所以不确定是否可以使用宏记录器来完成,或者我必须让某人写一些代码还是必须手动完成的事情?
这是我在宏中的代码。
ActiveCell.FormulaR1C1 = _
"=IF(MONTH(RC[-1])>3,"" ""&YEAR(RC[-1])&""-""&RIGHT(YEAR(RC[-1])+1,2),"" ""&YEAR(RC[-1])-1&""-""&RIGHT(YEAR(RC[-1]),2))"
Selection.AutoFill Destination:=Range("E2:E1344")
'Selection.AutoFill Destination:=Range("E2:E1344")
Range("E2:E1344").Select
如果有人能提供帮助,我将不胜感激
最佳答案
未经测试......但应该可以。
Dim lastrow as long
lastrow = range("D65000").end(xlup).Row
ActiveCell.FormulaR1C1 = _
"=IF(MONTH(RC[-1])>3,"" ""&YEAR(RC[-1])&""-""&RIGHT(YEAR(RC[-1])+1,2),"" ""&YEAR(RC[-1])-1&""-""&RIGHT(YEAR(RC[-1]),2))"
Selection.AutoFill Destination:=Range("E2:E" & lastrow)
'Selection.AutoFill Destination:=Range("E2:E"& lastrow)
Range("E2:E1344").Select
唯一的异常(exception)是您确定您的自动填充代码是完美的...
关于excel - 自动向下填充到最后一个相邻单元格的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488162/