Как повторить выполнение CommandButton1, пока не будет выполнено условие? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть код Excel VBA, выполняемый CommandButton1_Click.Ниже приведены условия, которые я вставил в конец моего кода 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 до диапазона («D1»). Значение снова устанавливается в ноль.Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Я думаю, вам нужно обернуть все ваше тело методом 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
0 голосов
/ 25 апреля 2018

согласно вашим собственным словам

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
...