Ví dụ này hướng dẫn bạn cách gỡ lỗi mã trong Excel VBA.

Một bước

Bằng cách nhấn F8, bạn có thể thực hiện một bước thông qua mã của mình. Nó rất hữu ích vì nó cho phép bạn xem tác động của từng dòng mã trên trang tính của mình.

Đặt một nút lệnh trên trang tính của bạn và thêm các dòng mã sau:

Dim i As Integer, j As Integer

For i = 1 To 2

For j = 1 To 5

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

Next j

Next i

Kết quả khi bạn bấm vào nút lệnh trên sheet:

Without Debugging in Excel VBA

  1. Làm trống dãy A1: E2.

  2. Mở Visual Basic Editor và giảm kích thước của màn hình để bạn có thể xem Visual Basic Editor và trang tính cùng một lúc.

  3. Trong Visual Basic Editor, đặt con trỏ của bạn trước Riêng tư và nhấn F8.

Dòng đầu tiên chuyển sang màu vàng.

Single Step

  1. Nhấn F8 bốn lần. Đối với i = 1 và j = 1, Excel VBA nhập một số ngẫu nhiên từ 20 đến 100 vào ô ở giao điểm của hàng 1 và cột 1. Bằng cách giữ cố định con trỏ trên một biến, bạn có thể thấy giá trị của biến.

Single Step

  1. Nhấn F8 hai lần nữa. Đối với i = 1 và j = 2, Excel VBA nhập một số ngẫu nhiên từ 20 đến 100 vào ô ở giao điểm của hàng 1 và cột 2.

Single Step

  1. Một bước qua phần còn lại của mã để xem cách Excel VBA nhập các số khác. Đây là một cách tuyệt vời để tìm hiểu cách hoạt động của vòng lặp.

Nếu bạn muốn dừng chương trình, hãy nhấp vào nút Đặt lại (Stop).

Breakpoint

Bạn đặt điểm ngắt để tạm dừng thực thi tại một dòng mã cụ thể.

  1. Làm trống dãy A1: E2.

  2. Để đặt điểm ngắt, hãy nhấp vào lề trái (màu xám) nơi bạn muốn đặt điểm ngắt. Một chấm đỏ xuất hiện.

Set a Breakpoint

  1. Nhấp vào mũi tên màu xanh lá cây để thực thi macro cho đến điểm ngắt.

Kết quả:

Continue Execution

Chỉ một phần của macro (cho i = 1) đã được thực thi.

  1. Để xóa điểm ngắt, hãy nhấp vào chấm đỏ. Tiếp theo, bấm vào mũi tên xanh để tiếp tục thực hiện.

Nếu bạn nhận được macro từ người khác, hãy nhớ rằng gỡ lỗi là cách tuyệt vời để hiểu mã. Bạn có thể dễ dàng thấy tác dụng của từng dòng mã trên trang tính của mình.