Проблема с MsgBox по условию с кнопками Да Нет - VB
Формулировка задачи:
Здравствуйте
Помогите с макросом, пожалуйста.
Имеется накладная, в ней есть две ячейки (C21 , C22), в которых указывается курс доллара и скидка.
Условие:
Если ячейки заполненные, то при запуске макроса ничего не происходит.
Если какая-то ячейка пустая, то выскакивает MsgBox "Хотите указать курс и скидку?"
При клике на кнопку ДА выходим из макроса, если жмем НЕТ - макрос работает дальше.
В данном случае выскакивает OK.
Подскажите, что неправильно сделал.
Пример в файле.
Спасибо.
Sub Add_discount()
Set ws = ActiveSheet
'получение последней строки в столбце 5
lLastRow = ws.Cells(Rows.Count, 5).End(xlUp).Row
'указываем ячейку C21, с текстом курс (диапазон динамический)
If Cells(lLastRow, 5).Offset(2, -2).Value = 0 Then
MsgBox "Хотите указать курс доллара и скидку?", vbYesNo
End If
'указываем ячейку C22, с текстом скидка
If Cells(lLastRow, 5).Offset(3, -2).Value = 0 Then
MsgBox "Хотите указать курс доллара и скидку?", vbYesNo
End If
Dim answer As Integer
answer = MsgBox("Хотите указать курс доллара и скидку?", vbYesNo)
If answer = vbYes Then
Exit Sub
Else: MsgBox "OK"
End If
End Sub
Помогите с макросом, пожалуйста.
Имеется накладная, в ней есть две ячейки (C21 , C22), в которых указывается курс доллара и скидка.
Условие:
Если ячейки заполненные, то при запуске макроса ничего не происходит.
Если какая-то ячейка пустая, то выскакивает MsgBox "Хотите указать курс и скидку?"
При клике на кнопку ДА выходим из макроса, если жмем НЕТ - макрос работает дальше.
В данном случае выскакивает OK.
Подскажите, что неправильно сделал.
Пример в файле.
Спасибо.
Sub Add_discount()
Set ws = ActiveSheet
'получение последней строки в столбце 5
lLastRow = ws.Cells(Rows.Count, 5).End(xlUp).Row
'указываем ячейку C21, с текстом курс (диапазон динамический)
If Cells(lLastRow, 5).Offset(2, -2).Value = 0 Then
MsgBox "Хотите указать курс доллара и скидку?", vbYesNo
End If
'указываем ячейку C22, с текстом скидка
If Cells(lLastRow, 5).Offset(3, -2).Value = 0 Then
MsgBox "Хотите указать курс доллара и скидку?", vbYesNo
End If
Dim answer As Integer
answer = MsgBox("Хотите указать курс доллара и скидку?", vbYesNo)
If answer = vbYes Then
Exit Sub
Else: MsgBox "OK"
End If
End Sub
Решение задачи: «Проблема с MsgBox по условию с кнопками Да Нет»
textual
Листинг программы
If Cells(lLastRow, 5).Offset(2, -2).Value = 0 If vbYes = MsgBox("Хотите указать курс доллара?", vbYesNo) Then Cells(lLastRow, 5).Offset(2, -2).Value = Round(CDbl(InputBox("И почём же нынче доллар?")), 2) End If End IF
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д