Страницы: 1
RSS
Метод Show из класса Dialog завершен неверно., Ошибка при выполнении макроса
 
Уважаемые форумчане, добрый день.
Прошу помочь, есть такой макрос с одной строкой:
Код
Application.Dialogs(xlDialogFilter).Show ActiveCell.Column
который вызывает диалоговое окно фильтра по текущему столбцу.
Если макрос запустить с открытым редактором VBE, то макрос работает (запускаю макрос, указываю значение, макрос фильтрует строки).
Но если редактор закрыт, выдается ошибка "Метод Show из класса Dialog завершен неверно."
Как побороть?
Спасибо.
 
у меня такая ошибка выдается, когда выделенная ячейка пустая и не в фильтре, если ячейка заполненная и в столбце с фильтром, то все нормально. Так ведь и должно быть.
Изменено: alexthegreat - 08.12.2014 12:03:40
 
Достаточно, чтобы ячейка просто находилась в одном из столбцов, на которых установлен фильтр.
 
Так в приложенном файле я так и делаю, запускаю макрос, находясь на ячейке, которая в столбце, где установлен фильтр.
 
Если ставите на пустую ячейку, а потом в окне фильтра ничего не вводите и нажимаете ОК, то выходит ошибка, потому что в фильтре у Вас нет Пустые ячейки, там есть только со значениями. Если просто закрыть окно, то ошибка не выходит.
У меня отрабатывает нормально.
Изменено: alexthegreat - 08.12.2014 12:40:26
 
alexthegreat, спасибо что помогаете.
Если предметно, то так: нахожусь на ячейке А3, запускаю макрос, ввожу значение "ТЗ", выходит ошибка.
 
Цитата
нахожусь на ячейке А3, запускаю макрос, ввожу значение "ТЗ", выходит ошибка.
Делаю тоже самое. Отрабатывает нормально
 
Хотя.... не пойму отчего.... через раз отрабатывает. При первом запуске выходит ошибка, при втором и последующих не выходит... Странно как то
 
Диалоги возвращают значения, а вы их не получаете. Вот и ошибка.
Код
Sub Fil()
   Dim s As Boolean
   s = Application.Dialogs(xlDialogFilter).Show(ActiveCell.Column)
End Sub
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Цитата
alexthegreat пишет: Делаю тоже самое. Отрабатывает нормально
У меня при закрытом VBE ни разу не обработал.
Скрин выложил (склеенный)

 
Повесьте макрос на кнопку. У меня отрабатывает без ошибок все разы.
P.S. Может, у Вас на момент вызова макроса лист неактивный?
Изменено: Влад - 08.12.2014 13:00:21
 
Joiner, спасибо, так работает. Только вопрос, а почему макрос всё жа работал при открытом редакторе?
Влад, вешал на горячую кнопку (резон был именно в горячей клавише), не срабатывало.

Спасибо всем откликнувшимся, код Joiner разрешил практическую часть проблемы.
 
Цитата
Валерий Кузнецов пишет: Только вопрос, а почему макрос всё жа работал при открытом редакторе?
Точно не знаю, но предполагаю что при открытом VBE происходит компиляция и выполнение в отладчике, а при закрытом - работает интерпретатор.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Joiner, спасибо.
Страницы: 1
Наверх