уже было "делать", но все еще есть ошибка "цикл без делать", Excel VBA - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь создать пользовательскую форму для ввода данных для каждого заказа на продажу, один заказ может состоять из множества продуктов, поэтому я написал, как показано ниже. Я добавил "do ... loop", чтобы добавить другой продукт в SO, но у меня ошибка "loop без do". Спасибо, если вы можете помочь мне найти решение этой ошибки или можете показать мне лучший способ выполнить эту задачу. Спасибо.

Private Sub button_OK_Click()
Dim nbr As Integer
Dim SOno As Integer
Dim choice As Integer
SOno = Sheets("engine").Range("B2")
Do
    nbr = WorksheetFunction.CountA(Sheets("SO").Range("c4:C50")) + 1 'no. of rows
    Sheets("SO").Range("r_cell").Offset(nbr, 0) = nbr
    Sheets("SO").Range("r_cell").Offset(nbr, 1) = "SO" & WorksheetFunction.Text(SOno, "00000")
    Sheets("SO").Range("r_cell").Offset(nbr, 2) = cus_name
    Sheets("so").Range("r_cell").Offset(nbr, 3) = prd_name
    Sheets("SO").Range("r_cell").Offset(nbr, 6) = qty
choice = MsgBox("Do you want to add new product for current SO?", vbYesNo)
If choice = vbYes Then
Loop
Else
Unload input_SO_UF
End If
Sheets("engine").Range("B2") = SOno + 1 'max SO no
End Sub

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте:

Private Sub button_OK_Click()
    Dim nbr As Integer
    Dim SOno As Integer
    SOno = Sheets("engine").Range("B2")
    Do
        nbr = WorksheetFunction.CountA(Sheets("SO").Range("c4:C50")) + 1 'no. of rows
        Sheets("SO").Range("r_cell").Offset(nbr, 0) = nbr
        Sheets("SO").Range("r_cell").Offset(nbr, 1) = "SO" & WorksheetFunction.Text(SOno, "00000")
        Sheets("SO").Range("r_cell").Offset(nbr, 2) = cus_name
        Sheets("so").Range("r_cell").Offset(nbr, 3) = prd_name
        Sheets("SO").Range("r_cell").Offset(nbr, 6) = qty
    Loop While vbYes = MsgBox("Do you want to add new product for current SO?", vbYesNo)

    Unload input_SO_UF
    Sheets("engine").Range("B2") = SOno + 1 'max SO no
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...