Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Bober

Как перехватить конкретную ожибку

15.06.2011, 12:31. Показов 1280. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здесь любая ошибка перехватывается, а надобно конкретную.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Test()
   On Error GoTo Errors1
    Dim x As Integer
    Dim a As Integer
    Dim c As Double
    Cells(1, 1) = 1
    Cells(2, 1) = п '   Cells(2, 1) = 0
    Cells(3, 1) = Cells(3, 1) / Cells(3, 1)
Errors1:
    MsgBox ("Ожибка")
Ends:
End Sub
Проблема в том, что нужно перехватить конкретный код ошибки

Cells(2, 1) = п error '13'
а если Cells(2, 1) = 0 error '11'

Соответственно на разные ошибки должны выдаваться разные варианты сообщений.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2011, 12:31
Ответы с готовыми решениями:

Как вставить диапазон в конкретную строку листа Excel со сдвигом вниз имеющихся?
Как вставить диапазон в конкретную строку листа Excel со сдвигом вниз, того что там находилось? ...

Как добавить конкретную страницу из шаблона в существующий файл Excel?
Проблема такая - существует файл шаблон EXCEL, в нем формы на 7 листах. Но при генерации в...

Как обратиться в конкретную ячейку ?
В ячейке С12 у меня цифра например 30 Мне надо идти не на ячейку С43 Range('C43').Select а на...

4
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
15.06.2011, 12:59
if Err.Number=... then
'Код ошибки узнай сам, ладно?
end if
0
Bober
15.06.2011, 14:27
Да, спасибо коды ошибок сам нашел, вопрос другой получается этот код
нужно в каждую процедуру запихнуть.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub f1()
On Error GoTo errors1
a = 20
b = 0
c = a / b
errors1:
If Err.Number = 11 Then
MsgBox "äåëåíèå íà íîëü"
End If
If Err.Number = 13 Then
    MsgBox "Íåêîðåêòíûé ââîä äàííûõ"
End If
End Sub
Bober
15.06.2011, 14:40
Вопрос изменился, может так, но тоже не очень удобно
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub f()
On Error GoTo 1:
a = 20
b = 0
c = a / b
1: Call f1
End Sub
 
Sub f1()
If Err.Number = 11 Then
MsgBox "деление на ноль"
End If
If Err.Number = 13 Then
    MsgBox "некорректный ввод"
End If
 
End Sub
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
15.06.2011, 15:23
Не забудь после обработки ошибки (проверки номера) выполнить Err.Clear, чтобы можно было отлавливать следующую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.06.2011, 15:23
Помогаю со студенческими работами здесь

Отредактировать конкретную строку txt-файла...
...возможно ли, не затрагивая другие строки в этом файле?

Отправка писем через конкретную учетную запись в Контрол MAPI
Может быть кто подскажет, как сделать так, чтобы мои письма отправлялись по КОНКРЕТНОЙ учётной...

Переместить лист на конкретную позицию
Товарищи, добрый день у меня коротенький вопрос есть операции перемещения с листами: ...

Строка за конкретную дату и час должна сохраняться на др. лист только раз и не дублироваться
Друзья, помогите довести до "ума" данный файл, если возможно.. Задача передо мной следующая: В...

Скопировать конкретный лист в конкретную книгу
Доброго времени суток. Помогите с кодом. Мне нужно макросом из книги 1 скопировать лист1 в книгу...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru