首页 > 解决方案 > 如何在一个范围内循环方程?

问题描述

我在我的 excel 程序中插入一个按钮。我希望它做两件事:首先遍历范围中的每一行并使一列(I)中的单元格等于另一列(H);其次,我想重新计算第一列(H)。

我已经能够让它在一行中工作,但我正在努力将它循环通过范围并需要一些帮助。

Sub Button3_Click()

Worksheets("data").Range("i17").Value = Worksheets("data").Range("h17").Value
    Range("h17").Calculate

End Sub

我正在寻找一种方法来实现上述情况,但是对于范围(i17:end of column)。:-/

标签: excelvba

解决方案


使用以下命令复制值。

Worksheets("data").Range("i17").Resize(n,1).Value = _
                               Worksheets("data").Range("h17").Resize(n,1).Value

其中n是受影响的行数。

然后你可以重新计算

Worksheets("data").Range("h17").Resize(n,1).Calculate

此外找到n使用以下

Dim r as Range, n as Long
Set r = Worksheets("data").Range("h17")
n = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count

r.Offset(0,1).Resize(n,1).Value = r.Resize(n,1)
r.Resize(n,1).Calculate

推荐阅读