Try Catch VBA Excel

Điều hướng lỗi trong VBA Excel hay còn gọi theo từ ngữ chung là try Catch VBA Excel

  1. Try Catch VBA Excel là gì ?
  2. Hậu quả khi không sử dụng Try Catch VBA Excel (on error goto VBA)
  3. Cách khắc phục lỗi sinh ra từ VBA
  4. Các ví dụ về xử lý lỗi trong VBA
  5. Sau đây là một số trường hợp On Error GoTo trong VBA hay dùng
  6. Video hướng dẫn về xử lý lỗi trong VBA kết nối với SQL Server
  7. Kiến thức nâng cao VBA kết nối với SQL Server

1. Try Catch VBA Excel là gì ?

 Try Catch VBA Excel còn gọi là on error goto dùng để điều hướng khi code bị lỗi.

Điều hướng code VBA là gì, là khi lỗi phát sinh thì VBA chuyển đến các hàm LỖI CỦA HỆ THỐNG, ta không muốn VBA chuyển hướng như vậy mà ta phải yêu cầu VBA hãy chuyển đến code mình viết khi có lỗi.

 

2. Hậu quả khi không sử dụng Try Catch VBA Excel (on error goto VBA)

Khi lỗi phát sinh từ VBA sẽ có thông báo liên quan đến hệ thống gây ra một số hậu quả như sau:

 * Làm cho người sử dụng phần mềm excel cảm thấy lúng túng vì thông báo theo dạng kỹ thuật, đọc nhưng khó hiểu.
 * Có thể dừng ứng dụng excel một cách đột ngột, làm cho người dụng ứng dụng excel khó chịu

Nếu lập trình vba không sử dụng xử lý lỗi trong VBA Excel có thể dẫn đến các trường hợp trên

3. Cách khắc phục lỗi sinh ra từ VBA

   Khắc phục có nghĩa là mình sẽ điều hướng code khi vba có lỗi hệ thống thì phải chuyển đến code vba mình đã tạo.
   Giải pháp: * Trong VBA đã cung cấp cho lập trình 1 cú pháp xử lý lỗi vba

Private Sub NameSub()
    on error goto HamGoiKhiLoi  
    .. code vba nghiệp vụ
    exit sub
HamGoiKhiLoi:
    ..
    ..
    .. code vào đây khi lỗi xảy ra.
End Sub  

4. Các ví dụ về xử lý lỗi trong VBA

Một ví dụ lỗi đơn giản nhất trong VBA đó là khi chia 1 số cho số 0 sẽ phát sinh lỗi hệ thống

private sub XuLy()
   Dim i As Integer
   On Error GoTo LOI
   so = 0
   i = 5 / so  'L?i vì chia 1 s? cho 0
   Exit Sub
LOI:
   MsgBox "5 phai chia cho so KHAC 0"
end sub
 

Sub Button1_Click()
   Dim i As Integer
   so = 0
   i = 5 / so
End Sub

Nếu không sử dụng On Error GoTo thì báo lỗi từ hệ thống: Run-time error, division by Zero
Người dụng không chuyên sâu về code vba thì đọc khó hiểu và thoát excel đột ngột.
Nếu sử dụng On Error GoTo thì khi lỗi sẽ báo 1 câu do lập trình viên chỉ định.

Trong thực tế thì việc ứng On Error GoTo vào những lỗi mà người dụng không thể đoán trước được, chứ không đơn giản như ví dụ chia cho 1 số 0 như trên.

5. Sau đây là một số trường hợp On Error GoTo trong VBA hay dùng

Đọc 1 file text bằng VBA, nhưng file text đó không tồn tại trên ổ cứng (cài đặt ứng dụng thì lúc đầu có file text), thì đây là một lỗi lập trình viên không thể đoán trước nó xảy lúc nào, mà chỉ đoán nó sẽ xảy ra trong tương lại.
   * Bài tập đọc file text 01: Mời bạn xem bài đọc file text, làm theo như ví dụ code vba, sau khi đọc thành công ta xóa file file text đã tạo ra từ ổ D, sau đó xem kết quả như thế nào ? hãy code thêm vào để không phải thông báo lỗi từ hệ thống VBA mà báo là "File text không tồn tại"


- Kết nối VBA Excel để SQL Server, lúc đầu kết nối bình thường nhưng sau 1 thời gian máy chỉ bị thay đổi tên server, hay tên user, pass.. dẫn đến kết nối bị lỗi, thì đây cũng là trường hợp người lập trình viên không thể đoán được nó xảy ra lúc nào, mà chỉ đoán là nó SẼ xảy ra trong tương lại.

   Mời bạn xem bài viết xử lý lỗi khi kết nối VBA Excel không thành công với SQL Server

6. Video hướng dẫn về xử lý lỗi trong VBA kết nối với SQL Server

 Video try catch phần 2:

 

7. Kiến thức nâng cao VBA kết nối với SQL Server

 Try Cath VBA Excel khi kết nối SQL Server - quản lý thông minh để tư vấn dạng AI để khách hàng giải quyết lỗi nhanh - xem video

 VBA Excel kết nối SQL Server | Thực thi câu SQL Insert , Update, Delete - xem video

Bài viết liên quan:

Điều hướng lỗi trong VBA Excel hay còn gọi theo từ ngữ chung là try Catch VBA Excel