Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Оснащения врачебно-сестринской бригады.
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Это пожалуй самый популярный способ, так как при возникновении ошибки лучше указать пользователю где он ошибся и перенаправить на другой путь выполнения программы. Сделать перенаправление можно при помощи команды GoTo, но сначала нам надо дать понять программе, что мы хотим отследить ошибку - т.е. включить распознование ошибок. Делается это следующим образом. В начало кода программы мы помещаем следующую команду
On Error
которая и говорит о том, что необходимо включить отслеживание ошибок. А команда GoTo уже перенаправит программу на то место, которое мы укажем. На примере нашей программе это можно продемонстрировать так:
Sub primer1() On Error GoTo errors a = 10 b = InputBox("Введите число отличное от 0", "Ввод данных", "0") c = a / b MsgBox "Результат: " & a & "/" & b & "=" & c, vbInformation, "Ответ" GoTo Endprimer errors: MsgBox "Ошибка! Вводите корректные данные", vbCritical, "Ошибка" Endprimer: End SubПоясню. При возникновении ошибки, программа с места ошибки сразу перенаправится на errors: и уже будет продолжать выполнять код с этого места. То-есть с информационного сообщения о том, что у нас возникла ошибка, после этого сообщения программа так и продолжит выполнять макрос дальше, в данном случае программа просто закончится. В случае, если ошибки нет, нам покажется результат и код перенаправится на Endprimer:, так как туда нас перенаправил GoTo.
Если Вы не хотите чтобы макрос выполнялся дальше, то можно добавить команду для выхода из макроса Exit Sub (завершение выполнения текущего макроса).
Способ №2. Настойчивость в исправлении ошибки
Можно сделать так, что в случае возникновения ошибки программа будет требовать от Вас ввести правильное число. Выглядеть это будет так.
Sub primer2() On Error GoTo errors a = 10 b = InputBox("Введите число отличное от 0", "Ввод данных", "0") c = a / b MsgBox "Результат: " & a & "/" & b & "=" & c, vbInformation, "Ответ" GoTo vpered errors: MsgBox "Ошибка! Повторите ввод", vbCritical, "Ошибка" b = InputBox("Введите число отличное от 0", "Ввод данных", "0") Resume vpered: End SubТут у нас добавилась только одна новая команда Resume, которая и будет перенапрявлять программу на место возникновения ошибки, тем самым требовать от нас правильного ввода данных, и пока мы их не введём, программа так и будет требовать от нас непонятного.
Способ №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. Весь список функций, можно найти нажав вот на такую пиктограмму в строке формул

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

|
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!