簡體   English   中英

如何在多行上運行相同的 VBA 代碼

[英]How to run the same VBA code on multiple rows

首先,我想道歉,因為我知道這個問題已被多次詢問和回答。 但是,我仍然很難將這些答案應用於我的情況,而且我對 VBA 還很陌生。

目前我有一個循環運行,直到第 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 行所要求的。但我需要這段代碼在多行上運行,唯一的值是 static 是單元格'K3',即:所以一旦在第 8 行完成,我現在需要運行它第 9 行('C9'、'E9'、'B9'、'G9')等等,要么這需要運行到第 500 行,要么輸入行數,無論哪種方式都適合我正在做的事情.

感謝任何幫助,希望我正確地完成了這篇文章。

布拉德。

這里會有一大群人會給你一個更完整的答案,但我是來回答你的直接問題的。

如果您需要應用其他增強功能,那么可能會出現其他問題。 這將幫助您學習和進步,而不會向您扔一堆您不確定的代碼。

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

這是遍歷每一行的簡單方法。

您應該對性能進行的考慮與循環、不斷更新單元格、更新單元格時的計算和事件等有關。

但這回答了你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM