Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скрытые перемещения.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
1.26 Mб
Скачать

Способ №3. Предупреждён. Сообщение об ошибке

Хорошо, что разработчики VBA дали такой большой спектр обработки ошибок. Следующий способ уведомит Вас о произошедшей ошибке и выдаст её номер, а так же спросит Вас нужно ли выполнять программу дальше или всё таки прекратить её выполнение. Выглядеть это будет так.

Sub primer3()

On Error GoTo errors

a = 10

b = InputBox("Введите число отличное от 0", "Ввод данных", "0")

c = a / b

MsgBox "Результат: " & a & "/" & b & "=" & c, vbInformation, "Ответ"

GoTo propusk

errors:

If Err.Number <> 0 Then

resultat = MsgBox("При выполнении программы произошла ошибка №" & Err.Number & _

vbNewLine & "Продолжить выполнение программы не смотря на ошибку?", _

vbYesNo + vbCritical, "Ошибка")

If resultat = vbYes Then

Resume Next

Else

Exit Sub

End If

End If

propusk:

End Sub

Тут у нас добавилось ещё одна новая команда Resume Next, которая говорит о том, что код необходимо продолжать выполнять дальше с места обнаружения ошибки, не смотря ни на что.

Способ №4. Очистка ошибки

Если Вы написли программу, которая выполняется очень долго и в ней море ошибок, то вы можете просто напросто очистить эти ошибки и отследить их все, а в конечном сообщении вывести результат об ошибках. Делается это на подобии этого.

Sub primer4()

On Error Resume Next

a = 10

b = InputBox("Введите число отличное от 0", "Ввод данных", "0")

c = a / b

MsgBox "Результат: " & a & "/" & b & "=" & c, vbInformation, "Ответ"

If Err.Number <> 0 Then

p = Err.Number

Err.Clear

MsgBox "Ошибка " & p & " очищена!", vbInformation, "Уведомление"

End If

End Sub

Способ №5. Идём напролом

Если Вам наплевать на все ошибки и Вы даже не хотите о них слышать, то можно воспользоваться следующей записью.

Sub primer5()

On Error Resume Next

a = 10

b = InputBox("Введите число отличное от 0", "Ввод данных", "0")

c = a / b

MsgBox "Результат: " & a & "/" & b & "=" & c, vbInformation, "Ответ"

End Sub

При такой записи макрос будет продолжать выполняться не смотря на все ошибки.

Я думаю, что на основе этих примеров и уловок остальные способы обработки ошибок Вы сможете придумать сами, придумать такие, на какие Вам хватит фантазии.

Функция (отображение, оператор, преобразование) — математическое понятие, отражающее связь между какими-либо значениями. Можно сказать, что функция — это «закон», по которому одна величина зависит от другой величины.

Это стандартное определение, которое все знают из википедии. И в принципе уже всё понятно. Однако, хочу заметить, что в Excel, функция может быть и не математической. А, например, логической, финансовой или текстовой.

Большинство результатов можно добиться при пощи тех функций, которые имеютя в Excel. В этом занятии я покажу как можно создать свои собственные функции, если вам недостаточно базовых, которые заложены в Excel. Весь список функций, можно найти нажав вот на такую пиктограмму в строке формул

или на ленте выбрать вкладку Формулы и сразу откроется весь список имеющихся функций