Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel debug print

VBA-Урок 2. Отладчик (Debugger)

Иструмент в среде VBA для отладки кода программ. Уметь работать с дебагером жизненно важно каждому, кто пишет на VBA . Он нужен для того, чтобы проверить как работает ваш код, и чтобы найти и исправить в нем ошибки.

Откройте Visual Basic Editor (Alt + F11) . Создайте в нем модуль и пропишите следующий код:

Нажмите Ctrl + G, при этом внизу появится окно Immediate . В этом окне можно в ходе работы макроса изменять значения переменных, выполнять различный код VBA, не написан в модуле ранее.

Если стать курсором внутрь кода модуля и нажать F5, он выполнится полностью. Если нажать F8 — исполнится только одна строка кода. Нажатие F8 выполнит следующую строку кода и т.д. можно выполнить пошагово весь код. С помощью кнопки F9 можно создать точку остановки. Если потом вы запустите код с помощью кнопки F5, код будет выполнен до указанной строки и затем приостановится. Далее его можно будет продлить с помощью кнопок F5 или F8, описанных ранее.

Если внимательно рассмотреть код, вы увидите, что в переменные A, B, C, D присваиваются числа. Строки Debug.Print «текст» печатают указанный нами текст в открытое ранее окно Immediate , чтобы видеть, что происходит с переменной. Str (A) превращает число в текстовое значение. А Trim () убирает с него справа и слева пробелы. Оператор Round (С) округляет значения по правилам арифметики до целого числа (поэтому результат вычислений мы присваиваем в переменную целого типа Long , значит он должен быть целым). В конце кода мы специально создали ложную ситуацию, чтобы потренироваться использовать дебагер.

Станьте внутрь кода и нажмите F8 четыре раза. Желтым будет отмечено строку, который будет выполнен следующим. Наведите курсор на различные переменные. При этом появится всплывающее окошко, в котором увидите значение. Переменные, которым еще не были присвоены значения равны нулю.
Нажмите еще раз F8. В окне Immediate появится строка:
А = 10
Теперь мы можем изменить значение переменной A сразу в окне Immediate (например, изменим его на 8) . Для этого в новой строке окна Immediate напишите:
А = 8
и нажмите Enter . Теперь наведите на переменную A курсор и увидите, что его значение равно 8. чтобы увидеть значение, не приводя курсор, можно заставить его появиться в окне Immediate. Делается это так, введите в пустой строке окна Immediate:
?A
и нажмите Enter. Знак в окне Immediate означает то же самое, что и Debug.Print в коде. Просто так удобнее и короче писать. Сразу вы увидите число — результат вашего запроса.

Станьте курсором на последнюю строку кода (C = Round (C /D)) и нажмите F9. Появится точка остановки. Той же кнопкой ее можно убрать, но мы ее убирать пока не будем. Нажмите F5, программа выполнит все строки и остановится на последней. В окне Immediate появятся, сообщение о присвоении значений переменным. Мы добрались до последней строки кода. Он должен вызвать ошибку, так как содержит деления на ноль. Нажмите F8 и убедитесь в этом. В появившемся окне нажмите Debug. Если вы нажмете End, выполнение программы остановится, а мы хотим довести ее до конца.

Читать еще:  Создание файла excel vb net

Исправить ситуацию можно, изменив значение переменной D. Сейчас она равна нулю. В окне Immediate введите в пустой строке текст:
D = 2
и нажмите Enter . Теперь последней строкой кода мы делим не на ноль, а на 2, таким образом избегая ошибки. Нажмите F5 и программа завершит свою работу без ошибок.

Попробуйте изменить код потренируйтесь в использовании отладчика. Поверьте, он вам очень облегчит жизнь.

VBA Debug Print

Excel VBA Debug Print

Debug Print is one of the most useful but underrated tools VBA has. Debug Print can be used in place of MsgBox. It helps in analyzing the process and output in the immediate window. Debug Print and MsgBox in VBA works on the same principles.

They both show the values like a message. But there are some major difference and benefits of using Debug Print over MsgBox. Debug Print, shows us the value stored in any variable or in itself in Debug Print like MsgBox. It also helps in debugging the error after executing the complete code. There is no need of clicking on the Ok button after we get the message, by which we can save a small amount of time and extra step to perform.

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more

There is no proper syntax of Debug Print. We can add anything and whatever we want to see as output in the immediate window.

How to Use Debug Print in Excel VBA?

Below are the different examples to use Debug Print in excel by using VBA code.

Excel VBA Debug Print – Example #1

For applying Debug Print in Excel VBA, we need to follow the below steps.

Step 1: Go to the VBA window, under the Insert menu tab select Module as shown below.

Step 2: In the newly opened Module, write the subcategory VBA Debug Print or you can choose any other name for that.

Code:

Step 3: Now directly use Debug Print as shown below. As we discussed, Debug Print doesn’t have any syntax. We can choose anything we want to print.

Читать еще:  Vba excel с нуля

Code:

Step 4: Let’s print any random text which we want to see and quote that text in inverted commas to see the output.

Code:

Step 5: As we know, the output of Debug Print will only be seen in Immediate Window. So, we will be opening the Immediate Window from the View menu bar as shown below.

After that, we will be getting a blank Immediate Window as shown below. This is a place where we will be seeing all the output from Debug Print.

Step 6: Now compile the code and run it by clicking on the Play button located below the menu bar. We will see, the Debug print has omitted the output in Immediate window as shown below.

Excel VBA Debug Print – Example #2

In this example, we will see, how to print any value using Debug print in excel VBA. For this, follow the below steps:

Step 1: In a module, write the subcategory in any name as shown below.

Code:

Step 2: We will need a variable as an Integer.

Code:

Step 3: Assign any value to that integer.

Code:

Step 4: Now we will use Debug print and assign the variable which we have just defined directly.

Code:

Step 5: Now we will run the code by pressing F5 key. We will see, the value stored in variable A is now printed in the Immediate window.

In a similar way, let’s define different types of variables in the same code and see, what changes happen.

Step 6: Declare the 2 more variables as Double and Long where we will try to store decimal value and large values in 6 digits.

Code:

Step 7: Now assign some values to each defined variable as per their character of data types. Assign the whole number to variable A, decimal value to variable B and any 6 digits or larger number to variable C.

Code:

Step 8: Now give individual Debug Prints to each of the variables so that, we will be seeing the separate values but in the same immediate window.

Code:

Step 9: Now run the complete code by pressing the F5 key or by clicking on the Play Button. We will see, in one shot all the values are stored in variables A, B, and C which can be seen in the immediate window.

Excel VBA Debug Print – Example #3

In this example, we will see how any mathematical expression would run if we use an immediate window to see the output. For this, follow the below steps to use Debug Print in Excel VBA.

Читать еще:  Форматирование набор значков в excel

Step 1: Write the subcategory of VBA Debug Print as shown below.

Code:

Step 2: Here, we will need to try to perform an addition of 2 variables. For this define 2 variables in which we will be submitting the input numbers and 3 rd variable where we will store the output coming from addition of the first two variables. Let’s consider those variables as A, B, and C respectively.

Code:

Step 3: Now allot any numerical values to variable A and B. Here, we have considered those as 10 and 20 respectively.

Code:

Step 4: For the purpose of adding, we will perform a mathematical function where we will add first and second variable A and B and get the output in variable C.

Code:

Step 5: Now we will use Debug print to print the output of addition of variable A and B under variable C. So, only variable C will be assigned in Debug Print to see the output of addition.

Code:

Step 6: Now run the code by pressing F5 key or by clicking on Play Button. We will get the output of addition of values stored in variable A and B under C in the immediate window.

By this, we can perform any type of mathematical process and get the output in an immediate window instead of using MsgBox which is also easy but not as good as Debug Print.

Pros of Excel VBA Debug Print

  • It is easy to apply.
  • No need to change the window to see the output. That we easily can see in the immediate window.
  • We can even delete the output data from an immediate window once the purpose is incomplete.
  • Compiling the code is optional.
  • If we get any error then we can easily rectify that just from seeing the output in the immediate window.

Things to Remember

  • If there is an error in the code, then the immediate window will give us the output as 0.
  • If the text is long, then we can adjust the size of the immediate window as per our need.
  • We can also adjust the location of an immediate window.

Recommended Articles

This is a guide to VBA Debug Print. Here we discuss how to use Debug Print in Excel using VBA code along with practical examples and downloadable excel template. You can also go through our other suggested articles –

Ссылка на основную публикацию
Adblock
detector