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

Вход

Регистрация

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

 

= Мир MS Excel/Работа макроса при условии - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа макроса при условии (Макросы/Sub)
Работа макроса при условии
Павел_леваП Дата: Воскресенье, 10.09.2017, 12:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день всем!

подскажите что в коде не так

[vba]
Код
Sub Кнопка1_Щелчок()

If Cells(4, 4) = "Было уже!" Then Exit Sub
If Err Then

End If

Range("A1").Select
    
' далее код

End Sub
[/vba]

смысл его в том, что если D4 = "Было уже!" макрос далее не выполняется.

а вот если это условие не выполняется необходимо продолжить работу макроса.

Во вложении файл пример: если удалить в столбце А:А данные, то макрос выдает ошибку т.к. не знает что дальше делать, как и я.
К сообщению приложен файл: 1883264.xlsm(18Kb)
 
Ответить
СообщениеДобрый день всем!

подскажите что в коде не так

[vba]
Код
Sub Кнопка1_Щелчок()

If Cells(4, 4) = "Было уже!" Then Exit Sub
If Err Then

End If

Range("A1").Select
    
' далее код

End Sub
[/vba]

смысл его в том, что если D4 = "Было уже!" макрос далее не выполняется.

а вот если это условие не выполняется необходимо продолжить работу макроса.

Во вложении файл пример: если удалить в столбце А:А данные, то макрос выдает ошибку т.к. не знает что дальше делать, как и я.

Автор - Павел_леваП
Дата добавления - 10.09.2017 в 12:00
Michael_S Дата: Воскресенье, 10.09.2017, 12:17 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1831
Репутация: 343 ±
Замечаний: 0% ±

Excel2016
[vba]
Код
Sub Кнопка1_Щелчок()
    On Error Resume Next
    If Cells(4, 4) = "Было уже!" Then
        If Err Then
            MsgBox "Еще не было!"
        Else
            Exit Sub
        End If
    End If
    Range("A1").Select
    ' далее код
End Sub
[/vba]


ЯД: 41001136675053
WM: R389613894253
 
Ответить
Сообщение[vba]
Код
Sub Кнопка1_Щелчок()
    On Error Resume Next
    If Cells(4, 4) = "Было уже!" Then
        If Err Then
            MsgBox "Еще не было!"
        Else
            Exit Sub
        End If
    End If
    Range("A1").Select
    ' далее код
End Sub
[/vba]

Автор - Michael_S
Дата добавления - 10.09.2017 в 12:17
KuklP Дата: Воскресенье, 10.09.2017, 12:20 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2301
Репутация: 474 ±
Замечаний: 0% ±

2003-2010
Без проверки на ошибку:
[vba]
Код
If Cells(4, 4).Text = "Было уже!" Then Exit Sub
[/vba]если надо отследить именно ошибку, то:
[vba]
Код
If IsError(Cells(4, 4)) Then
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеБез проверки на ошибку:
[vba]
Код
If Cells(4, 4).Text = "Было уже!" Then Exit Sub
[/vba]если надо отследить именно ошибку, то:
[vba]
Код
If IsError(Cells(4, 4)) Then
[/vba]

Автор - KuklP
Дата добавления - 10.09.2017 в 12:20
InExSu Дата: Воскресенье, 10.09.2017, 12:21 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 161
Репутация: 19 ±
Замечаний: 60% ±

Excel 2010
замените
[vba]
Код
If Cells(4, 4)
[/vba]
на
[vba]
Код
If CStr(Cells(4, 4))
[/vba]
 
Ответить
Сообщениезамените
[vba]
Код
If Cells(4, 4)
[/vba]
на
[vba]
Код
If CStr(Cells(4, 4))
[/vba]

Автор - InExSu
Дата добавления - 10.09.2017 в 12:21
Павел_леваП Дата: Воскресенье, 10.09.2017, 12:26 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Всем спасибо!

Работает.
 
Ответить
СообщениеВсем спасибо!

Работает.

Автор - Павел_леваП
Дата добавления - 10.09.2017 в 12:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа макроса при условии (Макросы/Sub)
Страница 1 из 11
Поиск:

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