Excel,循环多次计算

时间:2016-01-29 11:44:17

标签: excel-vba loops vba excel

我编写了一个简单的代码,用于显示连接到外部数据源的更改单元格值的最高值。我有400个不同的连接,并希望为每个连接重复此计算,我的代码只更新第一行:

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim HighVal As Integer
Dim LivePrice As Integer

LivePrice = Range("E7")
HighVal = Range("G7")

If LivePrice > HighVal Then Range("G7") = LivePrice
End Sub

非常难以以最有效的方式做到这一点。

1 个答案:

答案 0 :(得分:1)

我不确切知道你的文件是如何布局的,我不确定你为什么要用B7的内容替换B7。循环的方法如下。

假设您的所有连接都在不同的行中,B7,C7等,您可以编写一个这样的循环。

    dim i as long

    for i = 2 To 400
        LivePrice = Cells(i, 7).Value HighVal = Cells(i, 7).Value
        If LivePrice > HighVal Then Cells(i, 7).Value = LivePrice
    next i

这将从2到400循环,这将是从B到结尾的所有行。对于每一行,它将在Cell(行号,7)上执行计算。