Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Игнорировать MSGBOX из кода - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Игнорировать MSGBOX из кода (Макросы/Sub)
Игнорировать MSGBOX из кода
Крутыш Дата: Понедельник, 27.10.2014, 12:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 60% ±

Excel 2010
Есть код Восток, который делает определенные действия, таких кодов есть 6, для разных регионов страны.
В них стоят MSXBOXы в начале и в конце

Вот код
[vba]
Код

Sub Восток()

      MsgBox "Выбран дивизион ""Восток"""
      Sheets("План-факт").Select
      Sheets("План-факт").Copy Before:=Sheets(2)
      Sheets("План-факт (2)").Select
      Sheets("План-факт (2)").Name = "Восток"
      Sheets("Восток").Select
      With ActiveWorkbook.Sheets("Восток").Tab
          .Color = 15773696
          .TintAndShade = 0
      End With
      Удаление
      Cells.Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
      Application.CutCopyMode = False
      Columns("AT:BF").Select
      Selection.Delete Shift:=xlToLeft
      Columns("X:AO").Select
      Range("AO1").Activate
      Selection.Delete Shift:=xlToLeft
      Columns("G:W").Select
      Range("W1").Activate
      Selection.Delete Shift:=xlToLeft
      Range("O430").Select
      Sheets("Восток").Select
      Sheets("Восток").Move
      MsgBox "Готово"

End Sub
[/vba]

Мне нужен макрос, который бы попеременно выполнял эти макросы для регионов, но игнорировал MSGBOXы.

Вот например:

[vba]
Код


Sub Все()
      On Error Resume Next
      Восток
      Workbooks("План факт продаж").Activate
      Север
      Workbooks("План факт продаж").Activate
      Центр
End Sub

[/vba]

Подскажите что вписать или может чтобы автоматически после MSGBOXа нажималась кнопка ОК (Она там единственная)


Сообщение отредактировал Крутыш - Понедельник, 27.10.2014, 12:46
 
Ответить
СообщениеЕсть код Восток, который делает определенные действия, таких кодов есть 6, для разных регионов страны.
В них стоят MSXBOXы в начале и в конце

Вот код
[vba]
Код

Sub Восток()

      MsgBox "Выбран дивизион ""Восток"""
      Sheets("План-факт").Select
      Sheets("План-факт").Copy Before:=Sheets(2)
      Sheets("План-факт (2)").Select
      Sheets("План-факт (2)").Name = "Восток"
      Sheets("Восток").Select
      With ActiveWorkbook.Sheets("Восток").Tab
          .Color = 15773696
          .TintAndShade = 0
      End With
      Удаление
      Cells.Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
      Application.CutCopyMode = False
      Columns("AT:BF").Select
      Selection.Delete Shift:=xlToLeft
      Columns("X:AO").Select
      Range("AO1").Activate
      Selection.Delete Shift:=xlToLeft
      Columns("G:W").Select
      Range("W1").Activate
      Selection.Delete Shift:=xlToLeft
      Range("O430").Select
      Sheets("Восток").Select
      Sheets("Восток").Move
      MsgBox "Готово"

End Sub
[/vba]

Мне нужен макрос, который бы попеременно выполнял эти макросы для регионов, но игнорировал MSGBOXы.

Вот например:

[vba]
Код


Sub Все()
      On Error Resume Next
      Восток
      Workbooks("План факт продаж").Activate
      Север
      Workbooks("План факт продаж").Activate
      Центр
End Sub

[/vba]

Подскажите что вписать или может чтобы автоматически после MSGBOXа нажималась кнопка ОК (Она там единственная)

Автор - Крутыш
Дата добавления - 27.10.2014 в 12:45
UltrasRW Дата: Понедельник, 27.10.2014, 13:01 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 5 ±
Замечаний: 0% ±

счеты деревянные
Крутыш, можно добавить параметр и смотреть на него, например:
[vba]
Код


Sub Восток(showMSG As Boolean)
If showMSG Then
     MsgBox "Выбран дивизион ""Восток"""
End If
'далее ваш код
End Sub

'запуск
Sub Все()
     On Error Resume Next
     Восток False
     Workbooks("План факт продаж").Activate
'далее ваш код
End Sub
[/vba]
 
Ответить
СообщениеКрутыш, можно добавить параметр и смотреть на него, например:
[vba]
Код


Sub Восток(showMSG As Boolean)
If showMSG Then
     MsgBox "Выбран дивизион ""Восток"""
End If
'далее ваш код
End Sub

'запуск
Sub Все()
     On Error Resume Next
     Восток False
     Workbooks("План факт продаж").Activate
'далее ваш код
End Sub
[/vba]

Автор - UltrasRW
Дата добавления - 27.10.2014 в 13:01
Крутыш Дата: Понедельник, 27.10.2014, 14:50 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 23
Репутация: 0 ±
Замечаний: 60% ±

Excel 2010
Немного не то, теперь не работает, если я пытаюсь запустить конкретный макрос, например ВОСТОК. Он не выдает меседж
 
Ответить
СообщениеНемного не то, теперь не работает, если я пытаюсь запустить конкретный макрос, например ВОСТОК. Он не выдает меседж

Автор - Крутыш
Дата добавления - 27.10.2014 в 14:50
Alex_ST Дата: Понедельник, 27.10.2014, 15:23 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 27.10.2014, 15:25
 
Ответить
Сообщение

Автор - Alex_ST
Дата добавления - 27.10.2014 в 15:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Игнорировать MSGBOX из кода (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!