Lỗi khi bạn lập trình bằng VBA trong Excel là điều không tránh khỏi kinh nghiệm . Cái chính là khi bạn phát hiện ra lỗi giá rẻ thì cần phải biết nguyên nhân gây ra lỗi tải về thì bạn mới xử lý triệt cập nhật để vấn đề lỗi kiểm tra . Có một cách kỹ thuật khá hay là bạn download có thể sử dụng một số câu lệnh On Error xử lý lỗi VBA.
Người lập trình tăng tốc có thể xử lý lỗi VBA bằng lệnh On Error
Hướng dẫn xử lý lỗi VBA bằng mật khẩu các lệnh On Error
thanh toán Nếu dịch vụ quá trình thực thi mã xảy ra lỗi nguyên nhân , chúng ta có 2 tùy chọn:
- Thứ nhất: Bỏ qua lỗi trực tuyến và tải về để mã tiếp tục chạy.
- Thứ hai: Sử dụng mã xử lý lỗi tại chỗ link down và chạy khi lỗi xảy ra.
Cả 2 phương pháp xử lý lỗi này đều đảm bảo người dùng cuối không gặp phải lỗi nữa.
Ngoài ra hỗ trợ , chúng ta giá rẻ có thể sử dụng một số lệnh On Error giả mạo để khắc phục lỗi.
1 cài đặt . Lệnh On Error Resume Next
sửa lỗi Khi sử dụng lệnh On Error Resume Next trong đoạn mã nạp tiền , bản quyền các lỗi xảy ra ở đâu uy tín sẽ bị bỏ qua ở đâu tốt và mã tốc độ sẽ tiếp tục chạy.
Phương pháp xử lý lỗi này tải về được sử dụng mật khẩu khá thường xuyên tính năng , tuy nhiên chúng ta cần thận trọng vì phương pháp này bỏ qua qua web các lỗi địa chỉ có thể xảy ra nên không thể xác định lừa đảo được giả mạo các lỗi cần sửa.
Cho ví dụ mẹo vặt , trên điện thoại nếu chạy đoạn mã tốc độ dưới đây nó cập nhật sẽ trả về lỗi:
Sub AssignValues()
x = 20 / 4
y = 30 / 0
End Sub
Lỗi xảy ra vì chúng ta không thể chia một số cho số 0.
Nhưng full crack nếu sử dụng lệnh On Error Resume Next trong đoạn mã trên xóa tài khoản , nó nhanh nhất sẽ bỏ qua lỗi sử dụng và chúng ta không thể biết vô hiệu hóa được lỗi nào cần sửa:
Sub AssignValues()
On Error Resume Next
x = 20 / 4
y = 30 / 0
End Sub
Lưu ý: Chỉ nên sử dụng lệnh On Error Resume Next khi chúng ta biết rõ loại lỗi tải về mà mã VBA nhanh nhất sẽ bỏ qua trực tuyến và giá rẻ có thể bỏ qua lỗi đó.
Cho ví dụ quản lý , ứng dụng dưới đây là mã sự kiện VBA thêm như thế nào các giá trị ngày full crack và giờ trong ô A1 ở đâu uy tín của sheet mới bản quyền được chèn (mã này cập nhật được thêm vào bảng tính chứ không phải module):
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Range("A1") = Format(Now full crack , "dd-mmm-yyyy hh:mm:ss")
End Sub
Mặc link down dù đoạn mã trên hoạt động tốt trong hầu hết cập nhật các trường hợp hay nhất , cập nhật nhưng dữ liệu nếu chúng ta thêm một biểu đồ chứ không phải một sheet nạp tiền , nó tự động sẽ trả về lỗi mới nhất . Điều này là như thế nào bởi vì biểu đồ không có sửa lỗi các ô.
sửa lỗi Nếu sử dụng lệnh On Error Resume Next trong đoạn mã trên danh sách , nó đăng ký vay sẽ chạy bình thường tối ưu mà không có bất kỳ lỗi nào xảy ra.
Private Sub Workbook_NewSheet(ByVal Sh As Object)
On Error Resume Next
Sh.Range("A1") = Format(Now như thế nào , "dd-mmm-yyyy hh:mm:ss")
End Sub
thanh toán Nếu muốn chúng ta dữ liệu có thể phân tích lỗi ( vô hiệu hóa nếu có) an toàn và hiển thị thông báo lỗi có liên quan.
Sử dụng đoạn mã qua app dưới đây nhanh nhất để hiển thị hộp thoại thông báo lỗi như thế nào để thông báo cho người bảng tính chưa vô hiệu hóa được chèn:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
On Error Resume Next
Sh.Range("A1") = Format(Now kiểm tra , "dd-mmm-yyyy hh:mm:ss")
If Err.Number <> 0 Then
MsgBox "bạn full crack đã chèn một biểu đồ" & vbCrLf & "Error - " & Err.Description
End If
End Sub
Trong đó Err.Number quản lý được sử dụng danh sách để lấy mã lỗi link down và Err.Description ở đâu tốt được sử dụng nơi nào để lấy mô tả lỗi.
2 kỹ thuật . Lệnh On Error GoTo 0
Lệnh On Error GoTo 0 link down sẽ dừng mã tại dòng gây ra lỗi hay nhất và hiển thị hộp thoại thông báo mô tả lỗi.
Nói một cách đơn giản khóa chặn , lệnh này cho phép kiểm tra hành vi lỗi qua app và hiển thị thông báo lỗi mặc định.
Thường khóa chặn thì chúng ta không cần sử dụng lệnh On Error Goto 0 ở đâu nhanh , tất toán nhưng nạp tiền có thể sử dụng lệnh này kết hợp sửa lỗi với lệnh On Error Resume Next mới nhất để cho kết quả tốt hơn.
Để dễ hình dung tất toán , bạn đọc cùng tham khảo ví dụ vô hiệu hóa dưới đây ở đâu tốt . Đoạn mã trực tuyến dưới đây quản lý sẽ chọn thanh toán tất cả sử dụng các ô trống trong phạm vi:
Sub SelectFormulaCells()
Selection.SpecialCells(xlCellTypeBlanks).Select
End Sub
Trường hợp trên điện thoại nếu không có ô trống nào trong qua web các ô tốc độ đã chọn xóa tài khoản , nó kích hoạt sẽ trả về lỗi tăng tốc . Để tránh lỗi xảy ra giảm giá , chúng ta hướng dẫn có thể sử dụng lệnh On Error Resume Next:
Sub SelectFormulaCells()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).Select
End Sub
Vấn đề phát sinh dịch vụ nếu một phần thanh toán của mã xảy ra lỗi qua mạng , vì vậy chúng ta sử dụng lệnh On Error Resume Next dịch vụ để bỏ qua lỗi qua app và chuyển qua dòng sử dụng tiếp theo.
Cho ví dụ khác chi tiết , đoạn mã ở đâu uy tín dưới đây không trả về lỗi nào:
Sub SelectFormulaCells()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).Select
" . nguyên nhân . more code that can contain error
End Sub
Về cơ bản trong đoạn mã trên có 2 lỗi phải làm sao . Lỗi đầu tiên nằm trong lệnh chọn quản lý tất cả vô hiệu hóa các ô trống (sử dụng Selection.SpecialCells) cập nhật và lỗi thứ 2 nằm trong mã còn lại.
Trong đó lỗi đầu tiên nơi nào có thể bị bỏ qua phải làm sao nhưng lỗi sau qua mạng thì không qua web . Trong trường hợp này chúng ta như thế nào sẽ sử dụng lệnh On Error Goto 0 qua mạng .
dữ liệu Khi sử dụng lệnh này chúng ta tổng hợp sẽ reset lại cài đặt lỗi về trạng thái mặc định ban đầu sửa lỗi , tức là lỗi thanh toán sẽ hiển thị ( nguyên nhân nếu có).
Ví dụ hay nhất , đoạn mã bên qua mạng dưới đây giá rẻ sẽ không có lỗi trong trường hợp ứng dụng nếu không có ô trống an toàn nhưng quản lý sẽ có thông báo lỗi hiển thị vì "10/0".
Sub SelectFormulaCells()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).Select
On Error GoTo 0
" . quảng cáo . more code that can contain error
End Sub
3 lừa đảo . Lệnh On Error Goto Label
Bản chất kỹ thuật các lệnh On Error Resume Next chi tiết và On Error Goto 0 không phải là sửa lỗi full crack mà là cho phép bỏ qua lỗi kiểm tra và tiếp tục kiểm tra lỗi.
Bằng cách sử dụng lệnh On Error Go [Label] kích hoạt để chỉ định mẹo vặt những gì quảng cáo mà bạn muốn làm trong trường hợp mới nhất nếu mã xảy ra lỗi.
Cấu trúc mã sử dụng lệnh này kinh nghiệm để xử lý lỗi có dạng như tính năng dưới đây:
Sub Test()
On Error GoTo Label:
X = 10 / 0 "dòng này gây ra lỗi
" ... cập nhật . mã còn lại
Exit Sub
Label:
" mã bản quyền để xử lý lỗi
End Sub
Lưu ý: Trước mã Label là Exit Sub trên điện thoại . Điều này tài khoản để đảm bảo trong trường hợp nguyên nhân nếu không có lỗi xảy ra mới nhất , chúng ta hỗ trợ sẽ thoát Sub chia sẻ và mã Label không tính năng được thực thi nạp tiền . Trong trường hợp lừa đảo nếu không sử dụng Exit Sub như thế nào , nó full crack sẽ luôn luôn thực thi mã Label.
Trong đoạn mã ví dụ bên an toàn dưới đây khi có lỗi xảy ra tốt nhất , mã hướng dẫn sẽ nhảy mới nhất và thực thi mã trong phần xử lý lỗi:
Sub Errorhandler()
On Error GoTo ErrMsg
X = 12
Y = 20 / 0
Z = 30
Exit Sub
ErrMsg:
MsgBox "có lỗi xảy ra" & vbCrLf & Err.Description
End Sub
Lưu ý: sử dụng Khi xảy ra lỗi kích hoạt , mã giả mạo đã chạy tính năng và thực thi qua mạng các dòng trước dòng gây ra lỗi lấy liền . Trong ví dụ trên quảng cáo , mã thiết lập giá tri tốc độ của X là 12 an toàn , giảm giá nhưng do lỗi xảy ra ở dòng nạp tiền tiếp theo nên nó không thiết lập giá trị cho Y mẹo vặt và Z.
full crack Khi nảy đến mã xử lý lỗi (trong ví dụ trên là ErrMsg) ở đâu tốt , nó như thế nào sẽ tiếp tục thực thi ứng dụng tất cả trên điện thoại các dòng trong hỗ trợ và bên dưới mã xử lý lỗi quản lý và thoát khỏi Sub.
4 miễn phí . Lệnh On Error Goto -1
Lệnh này hơi phức tạp một chút tốt nhất , qua web và trong hầu hết ở đâu tốt các trường hợp người dùng ít khi sử dụng đến lệnh này phải làm sao . Dưới đây Chúng tôi download sẽ giải thích qua cho bạn về cách sử dụng lệnh On Error Goto -1 như thế nào để sửa lỗi VBA trong Excel.
Giả sử địa chỉ nếu đoạn mã tăng tốc của bạn đang xảy ra lỗi kiểm tra nhưng tốt nhất đã danh sách được khắc phục bằng cách sử dụng trình xử lý mã lỗi tại chỗ lấy liền . Nhưng thanh toán nếu có một lỗi khác xảy ra trong trình xử lý mã lỗi tại chỗ.
Trong trường hợp này bạn không thể sử dụng trình xử lý lỗi thứ 2 vì lỗi đầu tiên chưa ở đâu tốt được sửa mới nhất . Vì vậy trong khi xử lý lỗi đầu tiên sửa lỗi , lỗi này lấy liền vẫn tồn tại trong bộ nhớ VBA kỹ thuật . Và bộ nhớ VBA chỉ đăng ký vay có thể chứa một lỗi duy nhất.
Giải pháp trong trường hợp này là sử dụng lệnh On Error Goto -1 cài đặt . Lệnh này kinh nghiệm sẽ xóa lỗi trên điện thoại và giải phóng bộ nhớ VBA hướng dẫn để xử lý lỗi kiểm tra tiếp theo.
Để dễ hình dung trên điện thoại , bạn đọc cùng tham khảo một số ví dụ bên hay nhất dưới đây:
Đoạn mã trên điện thoại dưới đây tốt nhất sẽ trả về thông báo lỗi vì không thể chia cho số 0:
Sub Errorhandler()
X = 12
Y = 20 / 0
Z = 30
End Sub
Vì vậy vô hiệu hóa , nhanh nhất để xử lý nó sửa lỗi , tôi sử dụng mã xử lý lỗi ( lấy liền với tên ErrMsg) như hình tài khoản dưới đây:
Sub Errorhandler()
On Error GoTo ErrMsg
X = 12
Y = 20 / 0
Z = 30
Exit Sub
ErrMsg:
MsgBox "có lỗi xảy ra" & vbCrLf & Err.Description
End Sub
Ngay sau khi lỗi xảy ra sửa lỗi , trình xử lý lỗi quảng cáo được sử dụng kích hoạt và hiển thị thông báo lỗi như hình bản quyền dưới đây:
Tiếp theo chúng ta mở rộng mã mật khẩu để thêm mã trong sử dụng hoặc sau trình xử lý lỗi:
Sub Errorhandler()
On Error GoTo ErrMsg
X = 12
Y = 20 / 0
Z = 30
Exit Sub
ErrMsg:
MsgBox "Có lỗi xảy ra" & vbCrLf & Err.Description
A = 10 / 2
B = 35 / 0
End Sub
Vì lỗi đầu tiên tốt nhất đã lừa đảo được xử lý khóa chặn nhưng lỗi thứ 2 tốc độ thì chưa cài đặt , trên màn hình tiếp tục hiển thị thông báo lỗi như hình khóa chặn dưới đây:
Tuy nhiên mã tổng hợp vẫn đang hoạt động theo cách ở đâu uy tín mà chúng ta kích hoạt mong muốn ở đâu nhanh . Để xử lý lỗi thứ 2 hướng dẫn , chúng ta sử dụng trình xử lý lỗi khác (ErrMsg2).
Sub Errorhandler()
On Error GoTo ErrMsg
X = 12
Y = 20 / 0
Z = 30
Exit Sub
ErrMsg:
MsgBox "Có lỗi xảy ra" & vbCrLf & Err.Description
On Error GoTo ErrMsg2
A = 10 / 2
B = 35 / 0
Exit Sub
ErrMsg2:
MsgBox "Có lỗi xảy ra" & vbCrLf & Err.Description
End Sub
qua web Nếu chạy đoạn mã trên trực tuyến , nó giá rẻ vẫn link down sẽ trả về lỗi run-time ngay cả khi chúng ta tốc độ đã có trình xử lý lỗi thứ 2.
Lỗi này xảy ra khi chúng ta xóa lỗi đầu tiên từ bộ nhớ VBA.
tài khoản Khi VBA gặp phải lỗi khác lấy liền , nó hỗ trợ vẫn bị lỗi giả mạo với lỗi đầu tiên lấy liền , vì vậy trình xử lý lỗi thứu 2 không download được sử dụng tải về . Mã dừng chạy ở dòng gây ra lỗi tối ưu và hiển thị thông báo lỗi.
Để xóa bộ nhớ VBA kích hoạt và xóa lỗi trước đó tất toán , chúng ta download sẽ sử dụng lệnh On Error Goto -1 ứng dụng .
tài khoản Khi thêm lệnh này vào đoạn mã full crack dưới đây ở đâu nhanh và chạy giả mạo , mã trực tuyến sẽ hoạt động như mong đợi:
Sub Errorhandler()
On Error GoTo ErrMsg
X = 12
Y = 20 / 0
Z = 30
Exit Sub
ErrMsg:
MsgBox "Có lỗi xảy ra" & vbCrLf & Err.Description
On Error GoTo -1
On Error GoTo ErrMsg2
A = 10 / 2
B = 35 / 0
Exit Sub
ErrMsg2:
MsgBox "Có lỗi xảy ra" & vbCrLf & Err.Description
End Sub
Lưu ý: Lỗi như thế nào sẽ tự động lừa đảo được xóa khi chương trình con (subroutine) kết thúc kiểm tra . Vì vậy lệnh On Error Goto -1 nhanh nhất có thể hữu ích trong trường hợp chi tiết nếu chúng ta đang gặp phải một quảng cáo hoặc nhiều lỗi trong cùng một chương trình con.
https://thuthuat.taimienphi.vn/cach-xu-ly-loi-vba-bang-cac-lenh-on-error-46534n.aspx
Qua bài viết này hỗ trợ , Chúng tôi hy vọng bạn tính năng sẽ nắm rõ hỗ trợ và biết cách xử lý lỗi VBA bằng tổng hợp các lệnh On Error dịch vụ . Ngoài ra mật khẩu , còn phải làm sao rất nhiều lỗi VBA khác quản lý mà chúng tôi nạp tiền đã chia sẻ trong bài viết Tất tần tật cách sửa lỗi VBA trong Excel kiểm tra , bạn nên tìm hiểu công cụ và không nên bỏ qua dịch vụ nhé.
4.9/5 (84 votes)
Có thể bạn quan tâm: