Cetakan Debug VBA - Bagaimana Menggunakan Debug.Print untuk Menganalisis Hasil Kod VBA?

Debug.Cetakan Excel VBA

Debug Print adalah salah satu alat berguna yang disajikan dalam editor VBA untuk mengetahui bagaimana program berfungsi, dan membantu menganalisis perubahan nilai-nilai pemboleh ubah yang dibuat dalam program VBA. Ini menunjukkan output tetingkap prompt ketika kita menjalankan program tanpa bug.

Debug.print menawarkan dua faedah utama berbanding penggunaan Msgbox untuk memaparkan output kod. Ini menghilangkan keperluan untuk mengklik butang OK setiap kali dan menunjukkan log nilai output yang dikembalikan ke tetingkap segera. Ia menjimatkan banyak masa untuk pengguna. Artikel ini menerangkan penggunaan Cetakan Debug VBA excel dengan banyak contoh dan menerangkan bagaimana menggunakannya meliputi perkara-perkara berikut.

Apakah Cetakan Debug VBA?

Debug adalah objek dalam VBA dan digunakan dengan dua kaedah yang disebut Assert and Print. Cetakan berguna dalam paparan mesej dan menegaskan berguna dalam penilaian keadaan. Dalam VBA, nyahpepijat. Pernyataan cetak digunakan di mana-mana tempat program pengekodan untuk menunjukkan nilai-nilai pemboleh ubah atau mesej di Tetingkap Segera. Ini tidak memerlukan pengakuan atau pengesahan dan tidak menunjukkan kesan pada kod yang dikembangkan. Adalah selamat dan terbaik digunakan dalam kod dalam situasi ini untuk memudahkan akses kepada banyak pengguna. Ini hanya berguna dalam pengujian atau penilaian kod untuk mengesahkan bahawa ia berfungsi dengan betul atau tidak. Ia mencetak pemboleh ubah, rentetan, nombor, susunan, nilai dalam lembaran excel, dan lembaran kosong dan aktif.

Bagaimana Menggunakan Cetak Debug Excel VBA?

VBA debug.print adalah pernyataan yang membantu dalam menampilkan lebih banyak pemboleh ubah pada satu masa di tetingkap segera. Ini adalah pendekatan terbaik dan alternatif untuk menunjukkan hasilnya.

Sebagai contoh,

Kiraan debug.print, jumlah, purata, sisihan piawai

Seperti yang ditunjukkan dalam contoh, semua pemboleh ubah dipisahkan dengan koma. Pernyataan ini dapat memindahkan output ke tetingkap langsung walaupun tetingkap tidak dibuka. Ia tidak berhenti menjalankan kod seperti di Msgbox. Fleksibiliti ini menyokong pemantauan berterusan terhadap perubahan output mengenai perubahan dalam kod.

Kiraan pembolehubah, jumlah, purata, dan sisihan piawai ditunjukkan dalam baris yang sama dengan ruang yang sama di antara mereka. Sekiranya Tetingkap Segera tidak dibuka, ikuti langkah berikut untuk melihat keluarannya.

Langkah-langkah Membuka Tetingkap Segera dan Melihat Hasilnya

  • Tekan Ctrl + G atau klik pada menu 'View' di editor VBA.
  • Pilih pilihan 'Tetingkap Segera'.
  • Letakkan kursor di Window dan jalankan lagi kodnya.
  • Perhatikan output di tetingkap.

Contoh Debug.Print Excel VBA

Berikut adalah contoh untuk menunjukkan penggunaan debug print dalam excel VBA.

Contoh # 1 - Memaparkan Nilai Pemboleh ubah

Pertama, pergi ke tab Pembangun, klik pada Makro, dan buat makro untuk menulis kod di VBA dan tambahkan nama padanya.

Selepas menambah nama, klik buat. Ini membuka editor VBA.

Kembangkan program kecil, seperti yang ditunjukkan dalam gambar.

Kod:

Sub Pemboleh ubah () Dim X Sebagai Integer Dim Y Sebagai String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub

Seperti yang ditunjukkan dalam tangkapan layar, tiga dimensi atau pemboleh ubah diturunkan sebagai X, Y, dan Z sebagai bilangan bulat, string, dan Double, masing-masing. Untuk mencetak nilai-nilai ini, Debug.print digunakan, dan output akan ditampilkan di tetingkap prompt. Tekan CTRL + G untuk melihat hasilnya, seperti yang ditunjukkan dalam tangkapan skrin.

Jalankan kod ini menggunakan kekunci F5 dan tekan CTRL + G untuk melihat keluaran di Tetingkap Segera.

Program ini dapat dipermudah dengan memisahkan penyataan debug-print dengan koma.

Kod:

Sub Pemboleh ubah () Dim X Sebagai Integer Dim Y Sebagai String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Cetak X, Y, Z End Sub

Pernyataan debug ini mencetak output dalam baris yang sama, seperti yang ditunjukkan dalam tangkapan skrin.

Contoh # 2 - Cetak debug ke Fail

Contoh ini menggambarkan penggunaan cetakan debug VBA untuk memaparkan output ke fail apabila panjang teks terlalu tinggi.

Program untuk mencetak output pada file dikembangkan, seperti yang ditunjukkan pada gambar.

Kod:

Sub DebugPrintToFile () Dim s As String Dim num Sebagai bilangan bulat = FreeFile () Buka "D: Artikel Excel test.txt" Untuk Output Sebagai #num s = "Hello, world!" Debug.Print s 'tulis ke tetingkap segera Print #num, s' output output ke fail Tutup #num End Sub

Dalam program ini, dua pemboleh ubah yang disebut S dan Num, dianggap sebagai rentetan dan integer. Pernyataan terbuka digunakan untuk membuat fail teks dengan ujian nama. Lajur yang disebut "Hello World" dinyatakan ke dalam pemboleh ubah S.

Apabila anda menjalankan kod VBA secara manual atau menggunakan kekunci F5, output ditulis ke tetingkap segera, dan fail pada satu masa ditunjukkan dalam folder.

Output ke fail ditunjukkan dalam gambar yang disebutkan di bawah.

Mencetak output ke fail bermanfaat apabila teks panjang dibentangkan.

Contoh # 3 - Memaparkan Faktorial Nombor di Tetingkap Segera

Contoh ini menggambarkan penggunaan penyataan debug-a print untuk menunjukkan faktor nombor.

Kod:

Sub Fakta Umum () Dim Count Sebagai Integer Dim number Sebagai Integer Dim Fact Sebagai Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Next Count Deb.Print Fact End End Sub

Untuk menentukan faktorial, tiga pemboleh ubah dipertimbangkan, termasuk kiraan, bilangan, dan fakta. Untuk gelung diambil untuk mengulangi pendaraban nilai fakta dengan kiraan untuk menentukan faktor nombor.

Di sini, nyahpepijat. Pernyataan cetakan digunakan di luar gelung "untuk" untuk menampilkan nilai setelah menyelesaikan lingkaran. Keluaran ditentukan.

If we use debug. Print statement inside the “for” loop, the fact-value is displayed for every recurring time, as shown in the figure.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Debug.Print Fact Next Count End Sub

Run the code by pressing the F5 key and see the output in the immediate window. In this situation, we should consider the last value as the factorial of the given number.

Example #4 - Printing the Full name of the Active Workbook

This example explains how to print the current workbook name into the prompt window.

The program is developed, as shown in the figure.

Code:

Sub Activework() Dim count As Long For count = 1 To Workbooks.count Debug.Print Workbooks(count).FullName Next count Debug.Print count End Sub

Di sini 'hitung' adalah pemboleh ubah yang diambil untuk mengira bilangan buku kerja aktif dan untuk memaparkan nama penuh buku kerja aktif. Nama penuh dan bilangan buku kerja aktif dipaparkan, seperti yang ditunjukkan dalam gambar.

Laluan buku kerja dalam pemacu ditunjukkan dengan tepat dengan menggunakan penyataan debugprint VBA.

Perkara yang Perlu Diingat

  • Masalah utama dengan debug .print adalah tiada pilihan pembungkus teks untuk rentetan panjang di tetingkap segera
  • Tetingkap segera harus dibawa ke atas untuk melihat output di antara muka pengguna
  • Tidak mungkin membungkus teks panjang yang dipaparkan di Tetingkap Segera. Dalam keadaan ini, hasilnya perlu ditunjukkan kepada fail yang disimpan di pemacu.

Artikel menarik...