VBA End

Trong VBA, để kết thúc TẤT CẢ thực thi mã, hãy sử dụng Kết thúc chỉ huy.

1 Kết thúc

Khi việc thực thi mã đến Kết thúc, nó sẽ ngay lập tức kết thúc quá trình thực thi và rời khỏi chương trình.

Nếu bạn muốn tìm hiểu cách thoát phụ khi bị lỗi, hãy nhấp vào liên kết này: VBA khi lỗi thoát phụ

Nếu bạn muốn tìm hiểu cách thoát khỏi Sub hoặc Function, hãy nhấp vào liên kết này: VBA Exit Sub hoặc Function

Thoát tất cả Mã trong VBA

Bạn sẽ thấy trên ví dụ điều gì sẽ xảy ra khi chúng tôi sử dụng Kết thúc lệnh trong VBA. Chúng tôi đã tạo một Sub EndSub, có Kết thúc lệnh bên trong. Sub này được gọi từ CallEndSub. Đây là mã:

123456789101112131415161718 Private Sub EndSub ()Dim i As IntegerĐối với i = 1 đến 10Nếu tôi = 5 ThìMsgBox "Giá trị của tôi là" & iKết thúcKết thúc nếuTiếp theo tôiKết thúc SubPrivate Sub CallEndSub ()Call EndSubMsgBox "Kết thúc Sub"Kết thúc Sub

bên trong EndSub, trước tiên chúng ta nhập Vòng lặp For nếu giá trị của i nhỏ hơn 10:

123 Đối với i = 1 đến 10Tiếp theo tôi

Sau đó, chúng ta kiểm tra xem giá trị của i có bằng 5 hay không bằng cách sử dụng lệnh If. Nếu giá trị là 5, chúng ta trả về hộp thông báo với giá trị là i và sử dụng lệnh Kết thúc.

1234567 Nếu tôi = 5 thìMsgBox "Giá trị của tôi là" & iKết thúcKết thúc nếu

Nếu điều kiện không được đáp ứng, câu lệnh sau sẽ tăng i lên 1 và lại nhập vào vòng lặp For:

1 Tiếp theo tôi

bên trong CallEndSub, trước tiên chúng tôi gọi là Sub EndSub:

1 Call EndSub

Sau đó, chúng tôi trả lại hộp Thông báo:

1 MsgBox "Kết thúc Sub"

Nếu bạn chạy CallEndSub, trước tiên nó sẽ gọi EndSub. Nếu bạn thực thi mã này trong chế độ gỡ lỗi, bạn sẽ thấy rằng nó sẽ đi qua vòng lặp 5 lần. Trong 5NS lặp lại, giá trị của biến i trở thành 5 và mã được nhập vào phần thân If. Bây giờ MsgBox “Giá trị của tôi là” & i được thực hiện và Kết thúc sau đó:

Hình ảnh 1. VBA End

Như bạn có thể thấy, quá trình thực thi mã bị dừng ngay sau khi Kết thúc lệnh, vì vậy MsgBox “Kết thúc Sub” không bao giờ được thực thi.

wave wave wave wave wave