excel 如何在多行上运行相同的VBA代码

6ie5vjzr  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(199)

我有一个循环,一直运行到第8行的条件满足为止。

Sub Button1_Click()

    Dim i As Double
    Dim x As Double

    t = Range("K3").Value
    i = Range("C8").Value
    x = Range("E8").Value
    b = Range("B8").Value
    
    Do Until i > (x + t)
        i = i + 0.2
    Loop
      
    i = i - 0.2 - b
    
    Range("G8").Value = i

End Sub

这就是我对第8行所要求的,但是我需要在多行上运行。唯一的静态值是单元格“K3”。
即:一旦在第8行完成,就在第9行(“C9”、“E9”、“B9”、“G9”)运行,依此类推。这将需要运行到第500行,或者输入行数。

myss37ts

myss37ts1#

会有一大堆人在这里,会给予你一个更完整的答案,但我在这里回答你的直接问题。
如果你需要应用其他的增强功能,那么这可能会带来其他的问题,这将帮助你学习和进步,而不会向你扔一堆你不确定的代码。

Sub Button1_Click()
    Dim i As Double
    Dim x As Double
    Dim lngRow As Long
    
    t = Range("K3").Value
    
    For lngRow = 8 To 500
        i = Range("C" & lngRow).Value
        x = Range("E" & lngRow).Value
        b = Range("B" & lngRow).Value
        
        Do Until i > (x + t)
            i = i + 0.2
        Loop
          
        i = i - 0.2 - b
            
        Range("G" & lngRow).Value = i
    Next
End Sub

这是遍历每一行的简单方法。
在性能方面应该考虑的事项包括循环、不断更新单元格、更新单元格时的计算和事件等。
但这回答了你的问题。

相关问题