Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Выход из процедуры / 6 сообщений из 6, страница 1 из 1
11.07.2019, 16:25
    #39836467
Ant Sanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
Добрый день.

Почему происходит следующая ситуация:
Есть процедура, которая вызывает в себе другие процедуры:

Код: vbnet
1.
2.
3.
4.
Sub Main()
  Call RemoveByColor
  Call removeTbl1
End Sub



Я запускаю эту процедуру и пошагово прохожу.
Процедура RemoveByColor выполняется и переходит к процедуре removeTbl1, которая выглядит так:

Код: vbnet
1.
2.
3.
Sub removeTbl1()
  If Range("Block1").Cells(1, 3) = 0 Then Range("Block1").Delete (xlUp)
End Sub



Условие выполняется, блок удаляется и после этого следующий шаг не переходит дальше к выполнению Main, а перескакивает к началу removeTbl1 и пытается пройти код заново.

Подскажите пожалуйста, в чем моя ошибка? Чем обусловлено такое поведение?
...
Рейтинг: 0 / 0
11.07.2019, 17:36
    #39836507
vborets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
Ant Sanders,

а где указывается лист на котором удаляете?
...
Рейтинг: 0 / 0
11.07.2019, 19:24
    #39836555
Ant Sanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
vborets,

Не указываю, но дело в том, что блок удаляется верно, но почему то процедура зацикливается, в этом вся проблема
...
Рейтинг: 0 / 0
11.07.2019, 21:55
    #39836589
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
Ant SandersПодскажите пожалуйста, в чем моя ошибка? Чем обусловлено такое поведение?Единственный вариант, приходящий на ум, глядя на этот код, - removeTbl1 вызывается где-то еще из события, которое срабатывает при удалении строки.

Если оно больше ниоткуда не вызывается, только из Main, то нужно смотреть файл.
...
Рейтинг: 0 / 0
11.07.2019, 21:56
    #39836591
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
vboretsAnt Sanders,

а где указывается лист на котором удаляете?При неуказании листа действие применяется к активному листу.
...
Рейтинг: 0 / 0
12.07.2019, 10:39
    #39836702
Ant Sanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Выход из процедуры
Antonariy,

удалось обнаружить, что это поведение вызвано условным форматированием. Как только я удаляю правило форматирования, процедура начинает работать нормально.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Выход из процедуры / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]