Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Игорь ЕВСЕЕВ
1

Как в VBA выглядит команда обработки ошибок при невозможности выполнить макрокоманду?

22.07.2008, 08:48. Показов 2251. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нижеприведенная функция ведет поиск номера на листе EXCEL:
Visual Basic
1
2
3
4
5
6
7
8
        Worksheets('1').Columns('B:B').Select
        
        Dim VarResult As Variant
        VarResult = txtNumber.Value
    
    Selection.Find(What:=VarResult, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
Проблема в следующем:
При благополучном нахождении номера, управление переходит к следующей инструкции, но при отсутствии номера выходит сообщение об ошибке и выполнение инструкций останавливается. Как этого избежать?
Заранее благодарен.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2008, 08:48
Ответы с готовыми решениями:

Выдать на печать время отправления или сообщение о невозможности выполнить заказ в полном объеме
У администратора железнодорожных касс хранится информация о свободных местах в поездах по всем...

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

Как настроить баннер, чтобы при невозможности отображения SWF отображался JPG?
Как настроить флеш-баннер(.swf) таким образом, чтобы в случае его не отображения по непонятным...

Как подключить свою процедуру обработки ошибок?
Всем здравствуйте. int i = 5; int res = 0; try { res = i/0; } catch(...) {

2
Savelev
22.07.2008, 11:52 2
См. справку по Find Method
Нужно делать так
Visual Basic
1
2
3
4
5
6
7
Set oFind = Selection.Find(What:=VarResult, After:=ActiveCell, LookIn:=xlValues, LookAt :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= False)
 
If oFind Is Nothing  Then 'не найден
 
Else ' найден
 
End If
Vita
22.07.2008, 15:40 3
Есть два оператора VB для обаботки ошибок.
On Error Resume Next
On Error Goto <metka>
Если их нет, то выполнение останавливается с окошком сообщения. Если есть, никакого окошка не появляется, выполнение продолжается дальше, однако это (ошибочное состояние) надо учитывать.
22.07.2008, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2008, 15:40
Помогаю со студенческими работами здесь

Как лучше построить механизм обработки ошибок на основе исключений?
Доброго дня! Я сейчас разрабатываю проект и хочу спросить: как лучше построить механизм обработки...

Как из global.asax передать Exception на собственную страницу обработки ошибок?
Здравствуйте. Имею код в global.asax.cs: protected void Application_Error(Object sender,...

Как передать в прогу обработки ошибок имя проги, где эта ошибка появилась?
Как передать в прогу обработки ошибок имя проги, где эта ошибка появилась?

Событие Form_Delete: проблема при невозможности удаления
Хочется отслеживать удаление записей из некоторых таблиц и вести соответствующий журнал. Поскольку...

Как установить VBA-программу для обработки любого Excel-файла ?
Всем привет! Если запущен Excel-файл, в котором создана программа, то любой другой файл...

Сообщение о невозможности создать файл при удалении файла
String GetLastErrorToString(void) { DWORD dw = GetLastError(); void* cstr; FormatMessage(...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru