首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sum函数选取错误的值

Sum函数选取错误的值
EN

Stack Overflow用户
提问于 2017-05-04 13:49:01
回答 1查看 76关注 0票数 0

我已经激活了"sheet2“,但即便如此,sum函数也会从"sheet1”而不是"sheet2“中获取值。

代码语言:javascript
复制
Worksheets("sheet2").Activate
Sheets("sheet2").Cells(fl1, nf) = Application.WorksheetFunction.Sum(Range(Cells(fl1, locrng1.Column), Cells(fl1, (nf - 1))))
Sheets("sheet2").Cells(fl1, of) = Sheets("Sheet2").Cells(fl1, nf) * Sheets("Sheet2").Cells(fl1, firstlevel1.Offset(0, 1).Column)
Sheets("sheet2").Cells(fl1, rf) = Sheets("Sheet2").Cells(fl1, nf) * (1 - (Sheets("Sheet2").Cells(fl1, firstlevel1.Offset(0, 1).Column)))
EN

回答 1

Stack Overflow用户

发布于 2017-05-04 14:06:23

您应该了解如何使用With语句,它将为您节省大量的输入工作。

注意:在你的代码中,你在哪里使用Set firstlevel1?这可能是在您将ActivateWorksheets("sheet2").Activate一起使用之前。

请记住,几乎没有任何理由使用Activate,它只会减慢代码运行时的速度。

尝试下面的代码:

代码语言:javascript
复制
With Worksheets("sheet2")
    .Cells(fl1, nf) = Application.WorksheetFunction.Sum(.Range(.Cells(fl1, locrng1.Column), .Cells(fl1, (nf - 1))))
    .Cells(fl1, of) = .Cells(fl1, nf) * .Cells(fl1, firstlevel1.Offset(0, 1).Column)
    .Cells(fl1, rf) = .Cells(fl1, nf) * (1 - (.Cells(fl1, firstlevel1.Offset(0, 1).Column)))
End With
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43774807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档