VBA gỡ lỗi in - Làm thế nào để sử dụng Debug.Print để phân tích đầu ra mã VBA?

Excel VBA Debug.Print

Debug Print là một trong những công cụ hữu ích được trình bày trong trình soạn thảo VBA để tìm ra chương trình đang hoạt động như thế nào và nó giúp phân tích những thay đổi trong giá trị của các biến được tạo trong chương trình VBA. Nó hiển thị đầu ra của cửa sổ nhắc khi chúng tôi chạy chương trình mà không có bất kỳ lỗi nào.

Debug.print cung cấp hai lợi ích chính so với việc sử dụng Msgbox để hiển thị đầu ra của mã. Nó giúp loại bỏ sự cần thiết phải nhấp vào nút OK mỗi lần và hiển thị nhật ký các giá trị đầu ra được trả về cho các cửa sổ ngay lập tức. Nó tiết kiệm rất nhiều thời gian cho người dùng. Bài viết này giải thích việc sử dụng excel VBA Debug Print với nhiều ví dụ và giải thích cách sử dụng nó bao gồm những điều sau.

VBA Debug Print là gì?

Debug là một đối tượng trong VBA và được sử dụng với hai phương thức được gọi là Assert và Print. Bản in là thông báo hữu ích trong hiển thị và xác nhận hữu ích trong việc đánh giá các điều kiện. Trong VBA, gỡ lỗi. Câu lệnh in được sử dụng ở bất kỳ vị trí nào của chương trình mã hóa để hiển thị các giá trị của một biến hoặc các thông báo trong Cửa sổ ngay lập tức. Chúng không cần bất kỳ xác nhận hoặc xác nhận nào và không hiển thị bất kỳ ảnh hưởng nào đến mã được phát triển. An toàn và tốt nhất là sử dụng trong mã trong tình huống tạo điều kiện cho nhiều người dùng tiếp cận. Những điều này chỉ hữu ích trong việc kiểm tra hoặc đánh giá mã để xác nhận rằng nó đang hoạt động chính xác hay không. Nó in các biến, chuỗi, số, mảng, giá trị trong trang tính excel và trang tính trống và đang hoạt động.

Làm thế nào để sử dụng Excel VBA Debug Print?

VBA debug.print là câu lệnh hữu ích trong việc hiển thị nhiều biến cùng một lúc trong cửa sổ tức thì. Đây là cách tiếp cận tốt nhất và thay thế để hiển thị đầu ra.

Ví dụ,

Debug.print đếm, tổng, trung bình, độ lệch chuẩn

Như được hiển thị trong ví dụ, tất cả các biến được phân tách bằng dấu phẩy. Câu lệnh này có thể chuyển đầu ra sang cửa sổ ngay lập tức ngay cả khi một cửa sổ không được mở. Nó không ngừng chạy mã như trong Msgbox. Tính linh hoạt này hỗ trợ việc giám sát liên tục những thay đổi trong đầu ra liên quan đến những thay đổi trong mã.

Các biến đếm, tổng, trung bình và độ lệch chuẩn được hiển thị trên cùng một dòng với khoảng trống bằng nhau giữa chúng. Nếu Cửa sổ ngay lập tức không được mở, hãy làm theo các bước sau để xem kết quả.

Các bước để mở cửa sổ ngay lập tức và xem đầu ra

  • Nhấn Ctrl + G hoặc nhấp vào menu 'Xem' trong trình chỉnh sửa VBA.
  • Chọn tùy chọn 'Cửa sổ ngay lập tức'.
  • Đặt con trỏ vào Cửa sổ và chạy lại mã.
  • Quan sát kết quả đầu ra trong cửa sổ.

Ví dụ về Excel VBA Debug.Print

Sau đây là các ví dụ để chứng minh việc sử dụng debug print trong excel VBA.

Ví dụ # 1 - Hiển thị Giá trị của các Biến

Đầu tiên, hãy chuyển đến tab Nhà phát triển, nhấp vào Macro và tạo macro để viết mã trong VBA và thêm tên cho nó.

Sau khi thêm tên, hãy nhấp vào tạo. Thao tác này sẽ mở trình chỉnh sửa VBA.

Phát triển một chương trình nhỏ, như trong hình.

Mã:

Biến con () Dim X As Integer Dim Y As string Dim Z As Double X = 5 Y = "John" Z = 105,632 Debug.Print X Debug.Print Y Debug.Print Z End Sub

Như được hiển thị trong ảnh chụp màn hình, ba thứ nguyên hoặc biến được giảm xuống dưới dạng X, Y và Z tương ứng là một số nguyên, chuỗi và Đôi. Để in các giá trị này, Debug.print được sử dụng và kết quả đầu ra sẽ được hiển thị trong cửa sổ nhắc. Nhấn CTRL + G để xem kết quả, như được hiển thị trong ảnh chụp màn hình.

Chạy mã này bằng phím F5 và nhấn CTRL + G để xem kết quả trong Cửa sổ ngay lập tức.

Chương trình này có thể được đơn giản hóa bằng cách tách các câu lệnh gỡ lỗi-in bằng dấu phẩy.

Mã:

Biến con () Dim X As Integer Dim Y As string Dim Z As Double X = 5 Y = "John" Z = 105,632 Debug.Print X, Y, Z End Sub

Câu lệnh gỡ lỗi này in kết quả đầu ra trong cùng một dòng, như được hiển thị trong ảnh chụp màn hình.

Ví dụ # 2 - Gỡ lỗi in thành tệp

Ví dụ này minh họa việc sử dụng bản in gỡ lỗi VBA để hiển thị đầu ra cho một tệp khi độ dài của văn bản quá cao.

Chương trình in đầu ra trên tệp được phát triển, như thể hiện trong hình.

Mã:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Mở "D: Articles Excel test.txt" Cho Đầu ra Là #num s = "Hello, world!" Debug.Print s 'ghi vào cửa sổ ngay lập tức Print #num, s' ghi đầu ra vào tệp Đóng #num End Sub

Trong chương trình này, hai biến được gọi là S và Num, được coi là chuỗi và số nguyên. Câu lệnh mở được sử dụng để tạo tệp văn bản với tên kiểm tra. Một cột có tên là “Hello World” được khai báo vào biến S.

Khi bạn chạy mã VBA theo cách thủ công hoặc sử dụng phím F5, kết quả đầu ra được ghi vào cửa sổ ngay lập tức và tệp tại một thời điểm được hiển thị trong thư mục.

The output to file is shown in the below-mentioned figure.

Printing output to file is beneficial when long text is presented.

Example #3 - Displaying the Factorial of a Number in the Immediate Window

This example illustrates the use of the debug-a print statement to show the factorial of a number.

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 Next Count Debug.Print Fact End Sub

To determine the factorial, three variables are considered, including the count, number, and fact. For loop is taken to repeat the multiplication of fact-value with count to determine factorial of the number.

Here, debug. The print statement is used outside the “for” loop to display the value after completing the circle. The output is determined.

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

Ở đây 'count' là biến được lấy để đếm số lượng sổ làm việc đang hoạt động và để hiển thị tên đầy đủ của sổ làm việc đang hoạt động. Tên đầy đủ và số lượng sổ làm việc đang hoạt động được hiển thị, như trong hình.

Đường dẫn của sổ làm việc trong ổ đĩa được hiển thị chính xác bằng cách sử dụng câu lệnh gỡ lỗi VBA.

Những điều cần ghi nhớ

  • Vấn đề chính với gỡ lỗi .print là không có tùy chọn gói văn bản cho các chuỗi dài trong cửa sổ ngay lập tức
  • Cửa sổ ngay lập tức sẽ được đưa lên trên cùng để xem kết quả đầu ra trong giao diện người dùng
  • Không thể gói văn bản dài được hiển thị trong Cửa sổ ngay lập tức. Trong trường hợp này, kết quả cần được hiển thị cho một tệp được lưu trữ trong ổ đĩa.

thú vị bài viết...