Страницы: 1
RSS
Работа с диалогами типа MsgBox Подтверждение, или отмена действий.
 
Есть макрос обновления данных.
Но как прописать условия для кнопок, чтоб они выполняли свои действия?
Код
Sub Обновление()
'
' Обновление Макрос
' Обновление
'
MsgBox "Вы действительно хотите обновить данные?", vbYesNoCancel, "Обновление данных"

Workbooks.Open Filename:= _
        "\\путь\путь\путь\путь\путь\путь\путь\путь\путь\путь\Отчет 2018.xlsx"
    Windows("Январь.xlsm").Activate
    MsgBox "Данные обновлены!", vbInformation, "Обновление данных"

End Sub
 
Код
A=MsgBox("Вы действительно хотите обновить данные?", vbYesNoCancel, "Обновление данных")
Изменено: Alemox - 16.01.2018 13:10:53
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
anddrei55, крутая статья о диалогах
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Код
Sub asd()
    act = MsgBox("Вы действительно хотите обновить данные?", vbYesNoCancel, "Обновление данных")
    If act = vbYes Then
        MsgBox "Yes"
    End If
End Sub
 
Код
Select Case MsgBox("Вы действительно хотите обновить данные?", vbYesNoCancel, "Обновление данных")
Case vbYes
  Workbooks.Open Filename:= _
        "\\путь\путь\путь\путь\путь\путь\путь\путь\путь\путь\Отчет 2018.xlsx"
    Windows("Январь.xlsm").Activate
Case vbNo
  MsgBox "Нет"
Case vbCancel
  MsgBox "Отмена"
Case Else
  MsgBox "Неожиданный ответ"
End Select
 
Апострофф,
А как в таком случае прописать условие, чтоб не выводилась сообщение при отказе?

Код
MsgBox "Данные обновлены!", vbInformation, "Обновление данных"
 
Цитата
anddrei55 написал:
как в таком случае прописать условие, чтоб не выводилась сообщение при отказе?
Не писать сообщение при отказе. И всё :)  
 
Апострофф,  ну да, и макросы вообще не писать. А если серьезно?
 
anddrei55, я вас не понимаю.
Код
Select Case MsgBox("Вы действительно хотите обновить данные?", vbYesNoCancel, "Обновление данных")
Case vbYes
  Workbooks.Open Filename:= _
        "\\путь\путь\путь\путь\путь\путь\путь\путь\путь\путь\Отчет 2018.xlsx"
    Windows("Январь.xlsm").Activate
'Case vbNo
''  MsgBox "Нет"
'Case vbCancel
''  MsgBox "Отмена"
'Case Else
''  MsgBox "Неожиданный ответ"
End Select
 
Цитата
anddrei55 написал:
А если серьезно?
Если серьезно, то Вам серьезный ответ дали. Просто удаляете строку с MsgBox. При необходимости заменяете её Exit Sub или другую конструкцию. Какую именно мы не знаем, Вы попросили чего? :)
Цитата
anddrei55 написал:
чтоб не выводилась сообщение при отказе
Если бы не поленились и ознакомились со статьей, которую Вам дали в сообщении #3, то нашли бы более полное описание к MsgBox и обрели бы понимание что и как сделать.
Изменено: The_Prist - 16.01.2018 18:24:15
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх