3. MsgBox Тут я уже для себя практикуюсь Как выглядит код сообщение MsgBox, в котором есть. Если да, то макрос продолжает работать, если НЕТ то работа макроса прекращается. Нужны какие то метки начала и конца на примере.
3. MsgBox Тут я уже для себя практикуюсь Как выглядит код сообщение MsgBox, в котором есть. Если да, то макрос продолжает работать, если НЕТ то работа макроса прекращается. Нужны какие то метки начала и конца на примере.Rama
Сообщение отредактировал Rama - Вторник, 07.08.2018, 10:24
У меня длинный макрос, который состоит из несколько макрорекордером писанных макросов. В середине один макрос выполняет копирование одних столбцов и вставку в другие как значение. Столбцы копируемые по расположению могут меняться, тк какие то добавляются, какие то удаляются до них...Сообщением я хотел себе сделать напоминалку, что бы в процессе общего макроса проверить правильность расположения копируемых столбцов типа так http://prntscr.com/kft5bn [vba]
Код
Range("HH1").Select Columns("HF:HG").Select MsgBox "Массив с валютой и ценой в диапазоне HF:HG?", vbCritical, "Вставка валюты и цены из формул" Application.CutCopyMode = False Selection.Copy Columns("E:F").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("E1").Select
[/vba]
но проблема в том, что это просто сообщение и макрос если даже и не правильный диапазон все равно продолжит работать и вставит не правильно. Вот и нужно при нажатии на кнопку НЕТ прекратить его работу именно на этом этапе
У меня длинный макрос, который состоит из несколько макрорекордером писанных макросов. В середине один макрос выполняет копирование одних столбцов и вставку в другие как значение. Столбцы копируемые по расположению могут меняться, тк какие то добавляются, какие то удаляются до них...Сообщением я хотел себе сделать напоминалку, что бы в процессе общего макроса проверить правильность расположения копируемых столбцов типа так http://prntscr.com/kft5bn [vba]
Код
Range("HH1").Select Columns("HF:HG").Select MsgBox "Массив с валютой и ценой в диапазоне HF:HG?", vbCritical, "Вставка валюты и цены из формул" Application.CutCopyMode = False Selection.Copy Columns("E:F").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("E1").Select
[/vba]
но проблема в том, что это просто сообщение и макрос если даже и не правильный диапазон все равно продолжит работать и вставит не правильно. Вот и нужно при нажатии на кнопку НЕТ прекратить его работу именно на этом этапеRama
вам просто лень посмотреть встроенную справку Excel 2010.
Если бы знал куда смотреть, что бы решил мой вопрос за 30 минут хотя бы, то не писал бы тут по совокупности уже больше часа Я даже не знаю о какой справке Вы говорите, если эта, то там пусто http://prntscr.com/kfu0x3
Не проще подсказать схему, а дальше я ее внедрю и обкатаю уже раз и навсегда и все при своем. Чем каждый тут тратит время, что поучить других и по итогу ничего. Я то же в своем деле специалист, и когда такие как Вы обращаетесь за советом, я советую, а не посылаю Вас в библиотеку или на курсы.
вам просто лень посмотреть встроенную справку Excel 2010.
Если бы знал куда смотреть, что бы решил мой вопрос за 30 минут хотя бы, то не писал бы тут по совокупности уже больше часа Я даже не знаю о какой справке Вы говорите, если эта, то там пусто http://prntscr.com/kfu0x3
Не проще подсказать схему, а дальше я ее внедрю и обкатаю уже раз и навсегда и все при своем. Чем каждый тут тратит время, что поучить других и по итогу ничего. Я то же в своем деле специалист, и когда такие как Вы обращаетесь за советом, я советую, а не посылаю Вас в библиотеку или на курсы.Rama
Сообщение отредактировал Rama - Вторник, 07.08.2018, 19:44
Rama, Excel 2010 - последний, где присутствует встроенная(автономная) справка. И она значительно лучше той "типа онлайн справки", которую вы оказываете на картинке. Переключитесь!
Rama, Excel 2010 - последний, где присутствует встроенная(автономная) справка. И она значительно лучше той "типа онлайн справки", которую вы оказываете на картинке. Переключитесь! RAN
RAN, закончим со справками, я все равно не понимаю о чем Вы говорите. Проигнорируйте эту тему пожалуйста. Позвольте дождаться того, кто подскажет по факту запроса. Нет, значит тема уйдет вниз и закончим.
Повторю. Я не знаю, как MsgBox прервать макрос именно в том месте, где и какие аргументы надо прописать. Вроде простой вопрос, а писанины уже вагон
PS Я не размещаю вопрос на планете специально, у меня эт этого форумы было хорошее впечатление. Но времена изменились похоже. Тут сейчас одни профи и не место простым вопросам.
RAN, закончим со справками, я все равно не понимаю о чем Вы говорите. Проигнорируйте эту тему пожалуйста. Позвольте дождаться того, кто подскажет по факту запроса. Нет, значит тема уйдет вниз и закончим.
Повторю. Я не знаю, как MsgBox прервать макрос именно в том месте, где и какие аргументы надо прописать. Вроде простой вопрос, а писанины уже вагон
PS Я не размещаю вопрос на планете специально, у меня эт этого форумы было хорошее впечатление. Но времена изменились похоже. Тут сейчас одни профи и не место простым вопросам.Rama
Сообщение отредактировал Rama - Вторник, 07.08.2018, 20:19
В MZ-Tools есть удобная опция создания всяких msgbox'ов. [vba]
Код
Sub tt()
Select Case MsgBox("Так выглядит код сообщение MsgBox, в котором есть. Если да, то макрос продолжает работать, если НЕТ то работа макроса прекращается. ", vbYesNo Or vbExclamation Or vbDefaultButton1, "Внимание!")
Case vbYes ' работа макроса продолжается! Или тут можете написать любой код. Case vbNo Exit Sub End Select
MsgBox "Продолжаем!"
End Sub
[/vba]
В MZ-Tools есть удобная опция создания всяких msgbox'ов. [vba]
Код
Sub tt()
Select Case MsgBox("Так выглядит код сообщение MsgBox, в котором есть. Если да, то макрос продолжает работать, если НЕТ то работа макроса прекращается. ", vbYesNo Or vbExclamation Or vbDefaultButton1, "Внимание!")
Case vbYes ' работа макроса продолжается! Или тут можете написать любой код. Case vbNo Exit Sub End Select
Rama, как я вас понял, то переменная(в нее вы запишите результат от выбора) = Msgbox ("текст", vbYesNoCancel (Отображаются кнопки Yes (Да), No (Нет) и Cancel (Отмена)). Каждая кнопка возвращает свое число : vbYes -Да - 6 vbNo - Нет - 7 vbCancel - Отмена - 2 а дальше через if как пример: [vba]
Код
Sub Test3() Dim a As Integer a = MsgBox("Выберите кнопку!", 323, "Выбор кнопки") If a = 6 Then MsgBox "Вы нажали кнопку: Да" ElseIf a = 7 Then MsgBox "Вы нажали кнопку: Нет" Else MsgBox "Вы нажали кнопку: Отмена" End If End Sub
[/vba] Дальше подставляете свои макросы, которые нжно выполнить. По поводу ошибок, то нужно вставить : [vba]
Код
On Error Resume Next
[/vba] Он вроде как все ошибки проглатывает.
Rama, как я вас понял, то переменная(в нее вы запишите результат от выбора) = Msgbox ("текст", vbYesNoCancel (Отображаются кнопки Yes (Да), No (Нет) и Cancel (Отмена)). Каждая кнопка возвращает свое число : vbYes -Да - 6 vbNo - Нет - 7 vbCancel - Отмена - 2 а дальше через if как пример: [vba]
Код
Sub Test3() Dim a As Integer a = MsgBox("Выберите кнопку!", 323, "Выбор кнопки") If a = 6 Then MsgBox "Вы нажали кнопку: Да" ElseIf a = 7 Then MsgBox "Вы нажали кнопку: Нет" Else MsgBox "Вы нажали кнопку: Отмена" End If End Sub
[/vba] Дальше подставляете свои макросы, которые нжно выполнить. По поводу ошибок, то нужно вставить : [vba]
Код
On Error Resume Next
[/vba] Он вроде как все ошибки проглатывает.monstr_ork
Сообщение отредактировал monstr_ork - Вторник, 07.08.2018, 20:31
Rama, я пытался научить вас ловить рыбу. Но вам это не нужно. Вам нужна рыба. И не просто рыба, а уже приготовленная, и поданная на блюдечке с голубой каемочкой. Стопочка к рыбе приветствуется?
Rama, я пытался научить вас ловить рыбу. Но вам это не нужно. Вам нужна рыба. И не просто рыба, а уже приготовленная, и поданная на блюдечке с голубой каемочкой. Стопочка к рыбе приветствуется?RAN
RAN, когда Вы обратитесь ко мне за советом, Вас ждет такой же теплый прием. Вы на Excel деньги зарабатывайте, Вам нужно знать все. Мне нужно знать ровно столько, сколько нужно.
RAN, когда Вы обратитесь ко мне за советом, Вас ждет такой же теплый прием. Вы на Excel деньги зарабатывайте, Вам нужно знать все. Мне нужно знать ровно столько, сколько нужно.Rama