【问题标题】:VBA formula not working wellVBA 公式效果不佳
【发布时间】:2014-02-09 21:23:23
【问题描述】:

我正在用 vba 编写下一个公式

ActiveSheet.Cells(ActiveCell.Row, 1).Select
ActiveCell.Offset(0, 7).Select

With ActiveCell
.formula = "=SUM(" & .Offset(1, 0).Address(0, 0) & ":" & _
.End(xlDown).Offset(0, 0).Address(0, 0) & ")"
 End With

它给我带来了一些问题,因为如果我运行一次宏,它只需要公式中的 1 行:=SUM(H11:H11),但如果我运行它两次,它工作得很好,把所有的总和值直到工作表中的第一个空白单元格。

你能帮我改进我的宏,让它从第一次运行就正常工作吗?

提前感谢您的关注

最好的问候, 塞尔吉奥

【问题讨论】:

    标签: vba excel formula


    【解决方案1】:

    试试这个:

    With ActiveCell
        lastrow = Cells(Rows.Count, .Column).End(xlUp).Row
        .Formula = "=SUM(" & .Offset(1, 0).Address & ":" & Cells(lastrow, .Column).Address & ")"
    End With
    

    【讨论】:

    • 是的!我也试过这个,但事实是它会查找整个工作表的最后一个填充单元格,在我的情况下它不起作用。但无论如何感谢您的回答。每天学习新事物是件好事。没想到excel vba是这么强大的工具
    【解决方案2】:

    这是你正在尝试的吗?

    With ActiveCell
        .Formula = "=SUM(" & _
                         .Offset(1, 0).Address & ":" & _
                         .Offset(1, 0).End(xlDown).Address & _
                        ")"
    End With
    

    顺便说一句INTERESTING READ

    【讨论】:

    • 谢谢!这正是我想要的。那么,声明的安排有问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 2018-01-20
    • 2018-06-07
    • 2012-02-26
    相关资源
    最近更新 更多