Няма начин да премахнете напълно грешки във вашия Excel VBA код, но със сигурност можете да опитате. Използването на следните десет съвета ще ви помогне да сведете до минимум тези досадни грешки.
Използвайте опция Explicit в началото на вашия модул
Когато следвате тези указания, трябва да дефинирате типа данни за всяка променлива, която използвате. Това е малко повече работа, но избягвате често срещаната грешка при правописна грешка на името на променлива. Има и хубава странична полза: вашите рутини често ще работят по-бързо, ако декларирате вашите променливи.
Форматирайте кода си с отстъп
Използването на отстъп за очертаване на кодови сегменти е доста полезно. Ако имате няколко вложени цикъла For…Next, например, последователният отстъп ви прави много по-лесно да следите всички тях.
Внимавайте с On Error Resume Next
Това изявление кара Excel да игнорира всички грешки и да продължи. В някои случаи използването на това изявление кара Excel да игнорира грешки, които не трябва да се игнорират. Вашият код може да има грешки, а вие дори не бихте го осъзнали.
Използвайте много коментари
Нищо не е по-разочароващо от преразглеждането на кода, който сте написали преди шест месеца - и да нямате представа как работи. Добавянето на няколко коментара за описание на вашата логика може да ви спести много време по пътя.
Поддържайте подпрограмите и функциите си прости
Когато пишете кода си в по-малки модули — всеки от които има една, добре дефинирана цел — отстраняването на грешки е много по-лесно, отколкото когато пишете един дълъг модул и трябва да го отстраните.
Помолете някой друг да тества кода ви
Често сте толкова близо до кода, който сте написали, че пренебрегвате очевидните недостатъци. Помолете някой друг да изпробва вашия код и го тествайте със стрес, като се опитате да го накарате да се провали.
Използвайте системата за помощ
Ако изглежда, че нещо не работи както трябва, проверете системата за помощ на VBA. Възможно е дадено свойство или метод да не работи по начина, по който си мислите, че го прави. За да получите достъп до системата за помощ на VBA, маркирайте ключова дума във вашия код и натиснете F1.
Използвайте интернет, за да намерите отговори
В мрежата има няколко добри форума, посветени на VBA програмирането. Тези, които посещават тези форуми, се гордеят с това, че отговарят бързо и изчерпателно. Не пренебрегвайте този полезен (и безплатен) ресурс.
Разберете инструментите на Excel за отстраняване на грешки
Въпреки че в началото може да бъде малко обезсърчително, ще откриете, че дебъгерът на Excel е отличен инструмент. Инвестирайте малко време и го опознайте. Прекарването на около час в изучаване на подробностите може да ви спести десетки часове загубено време.
Помислете за различен подход
Ако имате проблеми да накарате определена рутина да работи правилно, може да искате да откажете идеята и да опитате нещо съвсем различно. В повечето случаи Excel предлага няколко алтернативни метода за постигане на едно и също нещо.