VBA GoTo một nhãn dòng

Câu lệnh GoTo trong VBA cho phép bạn chuyển đến một dòng mã.

Đầu tiên, hãy tạo một nhãn dòng ở bất kỳ đâu trong mã của bạn:

1 Nhảy:

Sau đó, thêm vào câu lệnh “GoTo” để chuyển đến nhãn dòng

1 Bỏ qua GoTo

Ví dụ về GoTo

Ví dụ này kiểm tra năm. Nếu năm là 2022 trở lên, nó sẽ chuyển sang nhãn Skip line. Điều này cho phép bạn bỏ qua mã nếu đáp ứng các điều kiện nhất định.

123456789101112 Sub GoTo_Example ()Năm mờ dưới dạng số nguyênnăm = 2019If year> = 2019 thì GoTo Skip'Xử lý dữ liệu cho các năm <2022MsgBox "Năm trước 2022"Nhảy:Kết thúc Sub

GoTo Nhiều nhãn Dòng

Bạn cũng có thể sử dụng câu lệnh GoTo để chuyển đến các dòng mã có liên quan. Hãy điều chỉnh ví dụ trước của chúng tôi để chuyển đến các vị trí mã khác nhau dựa trên năm đó là:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Năm mờ dưới dạng số nguyênnăm = 2019Nếu năm = 2019 ThìGoTo năm2019ElseIf year = 2010 Sau đóGoTo năm2020KhácGoTo năm2021Kết thúc nếunăm2019:'Quy trình 2022MsgBox "Năm là 2022"GoTo EndProcnăm2020:'Quy trình 2022MsgBox "Năm là 2022"GoTo EndProcnăm2021:'Quy trình 2022+MsgBox "Năm là 2022+"EndProc:Kết thúc Sub

Lưu ý “GoTo EndProc” trước mỗi nhãn dòng. Chúng tôi đã thêm dòng mã này để các phần mã đó bị bỏ qua trừ khi chúng được truy cập bởi “GoTo” có liên quan.

Trình xử lý lỗi GoTo Kết thúc quy trình

Bây giờ, hãy sử dụng Xử lý lỗi để đi đến phần cuối của quy trình nếu có lỗi.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerVề lỗi GoTo EndProci = 5/0MsgBox iEndProc:Kết thúc Sub

Mã lặp lại của GoTo

Ví dụ cuối cùng của chúng tôi sẽ sử dụng Câu lệnh GoTo để lặp lại một số mã.

Bên dưới, chúng tôi đang sử dụng Hộp thư Có / Không (Nhấp để tìm hiểu thêm) để xác nhận rằng người dùng thừa nhận cảnh báo. Nếu họ nhấp vào ‘Không’, hộp thông báo sẽ được hiển thị lại cho đến khi họ nhấp vào ‘Có’ (xem GIF bên dưới).

1234567891011 Sub GoTo_YesNoMsgBox ()RepeatMsg:Dim câu trả lời dưới dạng số nguyênanswer = MsgBox ("CẢNH BÁO: Tệp này được mở dưới dạng tệp Chỉ Đọc, có nghĩa là bất kỳ thay đổi nào bạn thực hiện sẽ không được lưu trừ khi / cho đến khi bạn có quyền Ghi-Truy cập." & _Chr (13) & Chr (13) & "Chọn Tệp, LưuA để lưu một bản sao trước khi làm việc trong tệp này." & vbNewLine & vbNewLine & "Bạn có hiểu không?", vbExclamation + vbYesNo, "WARNING!")If answer = vbNo Then GoTo RepeatMsg 'Lặp lại cho đến khi người dùng nhấp vào "Có"Kết thúc Sub

VBA GoTo một nhãn dòng trong Access VBA

Tất cả các ví dụ trên đều hoạt động hoàn toàn giống nhau trong Access VBA cũng như trong Excel VBA.

1234567 Sub TestGoTo ()Khi lỗi GoTo kết thúcDoCmd.OpenForm "FrmClients"Thoát Subkết thúc:MsgBox "Không thể mở biểu mẫu"Kết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave