Техники за отстраняване на грешки за Excel 2016 VBA

Може да срещнете някои проблеми с вашия VBA код, но как да откриете проблема? Понякога вашият VBA код може да се нуждае от отстраняване на грешки. Продължете да четете, за да откриете четирите най-често срещани метода за отстраняване на грешки в Excel VBA код:

  • Разглеждане на кода

  • Вмъкване на функции MsgBox на различни места във вашия код

  • Вмъкване на оператори Debug.Print

  • Използване на вградените в Excel инструменти за отстраняване на грешки

Разглеждане на вашия код

Може би най-простата техника за отстраняване на грешки е просто да разгледате внимателно кода си, за да видите дали можете да откриете проблема. Този метод, разбира се, изисква знания и опит. С други думи, трябва да знаете какво правите. Ако имате късмет, грешката изскача веднага и вие се удряте по челото и казвате: „О!“ Когато болката в челото намалее, можете да отстраните проблема.

Обърнете внимание на използването на думите „Ако имате късмет“. Това е така, защото често откривате грешки, когато работите по програмата си осем часа наред, 2 сутринта е и работите с кофеин и воля. В такива моменти имате късмет, ако дори можете да видите кода си, камо ли да намерите грешките. Затова не се учудвайте, ако простото изследване на кода ви не е достатъчно, за да ви накара да намерите и изтриете всички грешки, които съдържа.

Използване на функцията MsgBox

Често срещан проблем в много програми включва една или повече променливи, които не приемат стойностите, които очаквате. В такива случаи наблюдението на променливата(ите), докато кодът ви се изпълнява, е полезна техника за отстраняване на грешки. Един от начините да направите това е като вмъкнете временни функции MsgBox във вашата рутина. Например, ако имате променлива с име CellCount, можете да вмъкнете следния израз:

MsgBox CellCount

Когато изпълнявате рутината, функцията MsgBox показва стойността на CellCount.

Често е полезно да се показват стойностите на две или повече променливи в полето за съобщения. Следното изявление показва текущата стойност на две променливи: LoopIndex (1) и CellCount (72), разделени с интервал.

MsgBox LoopIndex & “ “ & CellCount

Забележете, че двете променливи са комбинирани с оператора за конкатенация (&) и вмъкнете символ за интервал между тях. В противен случай полето за съобщение обединява двете стойности, което ги прави да изглеждат като една стойност. Можете също да използвате вградената константа, vbNewLine, вместо символа за интервал. vbNewLine вмъква прекъсване за подаване на ред, което показва текста на нов ред. Следното изявление показва три променливи, всяка на отделен ред:

Техники за отстраняване на грешки за Excel 2016 VBA

Използване на поле за съобщения за показване на стойността на три променливи.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Тази техника не се ограничава до наблюдение на променливи. Можете да използвате поле за съобщения, за да покажете всякаква полезна информация, докато кодът ви работи. Например, ако кодът ви преминава през поредица от листове, следното изявление показва името и типа на активния лист:

MsgBox ActiveSheet.Name & “ “ & TypeName (ActiveSheet)

Ако вашето съобщение показва нещо неочаквано, натиснете Ctrl+Break и ще видите диалогов прозорец, който ви казва, че изпълнението на кода е прекъснато, имате четири избора:

  • Щракнете върху бутона Продължи. Кодът продължава да се изпълнява.

  • Щракнете върху бутона Край. Изпълнението спира.

  • Щракнете върху бутона Отстраняване на грешки. VBE преминава в режим на отстраняване на грешки.

  • Щракнете върху бутона Помощ. Помощен екран ви казва, че сте натиснали Ctrl+Break. С други думи, не е много полезно.

    Техники за отстраняване на грешки за Excel 2016 VBA

    Натискането на Ctrl+Break спира изпълнението на вашия код и ви дава някои възможности за избор.

Ако клавиатурата ви няма клавиш Break, опитайте да натиснете Ctrl+ScrollLock.

Чувствайте се свободни да използвате функциите на MsgBox често, когато отстранявате грешки в кода си. Просто се уверете, че ги премахвате, след като идентифицирате и коригирате проблема.

Вмъкване на оператори Debug.Print

Като алтернатива на използването на функции MsgBox във вашия код, можете да вмъкнете един или повече временни оператори Debug.Print. Използвайте тези изрази, за да отпечатате стойността на една или повече променливи в прозореца Immediate. Ето пример, който показва стойностите на три променливи:

Debug.Print LoopIndex, CellCount, MyVal

Забележете, че променливите са разделени със запетаи. Можете да покажете толкова променливи, колкото искате с един израз на Debug.Print.

Debug.Print изпраща изход към прозореца Immediate, дори ако този прозорец е скрит. Ако прозорецът Immediate на VBE не се вижда, натиснете Ctrl+G (или изберете View → Immediate Window). Ето някои резултати в прозореца Immediate.

Техники за отстраняване на грешки за Excel 2016 VBA

Инструкция Debug.Print изпраща изход към прозореца Immediate.

За разлика от MsgBox, операторите Debug.Print не спират вашия код. Така че трябва да държите под око прозореца Immediate, за да видите какво се случва.

След като отстраните грешките в кода си, не забравяйте да премахнете всички изрази Debug.Print. Дори големи компании като Microsoft понякога забравят да премахнат своите изявления Debug.Print. В няколко предишни версии на Excel всеки път, когато се отвори добавката Analysis ToolPak, ще видите няколко странни съобщения в прозореца Immediate. Този проблем най-накрая беше отстранен в Excel 2007.

Използване на VBA дебъгера

Дизайнерите на Excel са добре запознати с концепцията за бъгове. Следователно Excel включва набор от инструменти за отстраняване на грешки, които могат да ви помогнат да коригирате проблеми във вашия VBA код.


Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

Научете как да използвате инструменти за социални мрежи на SharePoint, които позволяват на индивиди и групи да общуват, да си сътрудничат, споделят и да се свързват.

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]