excel - 自动向下填充到最后一个相邻单元格的宏

标签 excel vba

我正在尝试使用 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/

相关文章:

Excel VBA。将单元格列表转换为范围

excel - 选择整个列

vba - VBA引用工作表和图表表

r - 从R运行VBA脚本

excel - 登录后如何网页抓取 Steam?

c# - Interop.Excel 本地化和 Range.Formula 与 Formulalocal

vba - Excel VBA : Run-time error '91' on second assignment to Object variable

vba - excel vba if语句与OR和AND场景

excel - 用字符串中最后一个/后面的子字符串填充单元格

mysql - Maya 和数据库