如何重复CommandButton1执行,直到满足条件?

时间:2018-04-25 06:52:27

标签: vba excel-vba excel-2016 excel

我有一个由CommandButton1_Click执行的Excel VBA代码。以下是我在VBA代码末尾插入的条件。

If Range("D1").Value < 362 Then
    Range("C1").Value = Range("C1").Value + 7
    Range("D1").Value = Range("D1").Value + 7   
Else
    Range("C1").Value = Range("F2").Value
    Range("D1").Value = 0    
End If

我想重复CommandButton1_Click操作直到Range(&#34; D1&#34;)。值再次变为Zero。请帮忙。

2 个答案:

答案 0 :(得分:2)

我认为您需要将CommandButton1_Click方法的整个部分包裹在Do While ... Loop中。

所以变换:

Sub CommandButton1_Click()
    'body
End Sub

Sub CommandButton1_Click()
    Do While Range("D1").Value <> 0
        'body
    Loop
End Sub

或者你可以更优雅:

Sub SomeSub()
    'your CommandButton1_Click current body
End Sub

Sub CommandButton1_Click()
    Do While Range("D1").Value <> 0
        SomeSub
    Loop
End Sub

答案 1 :(得分:1)

按照你自己的说法

Do Until Range("D1").Value = 0
    If Range("D1").Value < 362 Then

        Range("C1").Value = Range("C1").Value + 7
        Range("D1").Value = Range("D1").Value + 7

    Else
        Range("C1").Value = Range("F2").Value
        Range("D1").Value = 0        
    End If
Loop