VBA IsError | Cách sử dụng Hàm ISERROR trong VBA? (Ví dụ)
Hàm ISERROR trong Excel VBA
VBA IsError tên chức năng tự nó tổng hợp chức năng. Hàm này sẽ xác định xem giá trị chúng tôi đã cung cấp có phải là giá trị lỗi hay không. Nếu giá trị được cung cấp hoặc giá trị tham chiếu phạm vi là giá trị lỗi thì chúng ta sẽ nhận được kết quả là “TRUE”, nếu giá trị không phải là giá trị lỗi thì chúng ta sẽ nhận được kết quả là “FALSE”.
Cú pháp
Biểu thức không là gì khác ngoài giá trị chúng tôi đang kiểm tra hoặc giá trị tham chiếu ô hoặc biểu thức công thức. Và như bạn có thể thấy, kết quả sẽ là "Boolean".
Các ví dụ
Bạn có thể tải xuống Mẫu Excel VBA ISERROR này tại đây - Mẫu Excel VBA ISERRORVí dụ 1
Chúng ta sẽ xem một ví dụ đơn giản để tìm xem giá trị có phải là lỗi hay không. Ví dụ, chúng tôi có giá trị dưới đây trong ô A1.
Chúng tôi sẽ kiểm tra xem giá trị này có phải là giá trị lỗi hay không.
- Bắt đầu mã macro.
Mã:
Sub IsError_Example1 () End Sub
- Khai báo một biến để lưu giá trị ô A1.
Mã:
Sub IsError_Example1 () Dim ExpValue làm biến thể End Sub
- Bây giờ, hãy gán giá trị của ô A1 cho biến này trong VBA.
Mã:
Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Giá trị End Sub
- Bây giờ hãy kiểm tra xem giá trị biến này có phải là lỗi hay không.
Mã:
Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Giá trị IsError (ExpValue) End Sub
- Đính kèm kết quả này trong hộp thông báo trong VBA.
Mã:
Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Giá trị MsgBox IsError (ExpValue) End Sub
Ok, hãy chạy mã và xem kết quả của hàm ISERROR.
Kết quả là TRUE vì giá trị trong ô A1 là # DIV / 0! đó là lỗi phân chia.
Bây giờ chúng ta sẽ thay đổi giá trị của ô A1 thành “Xin chào”.
Bây giờ hãy chạy mã và xem kết quả.
Vì vậy, kết quả bây giờ là FALSE vì giá trị trong ô A1 không phải là giá trị lỗi.
Vì vậy, trước tiên, chúng ta cần hiểu các loại lỗi là gì và tại sao chúng lại xảy ra trong trang tính excel. Dưới đây là các giá trị và giải thích sai số chi tiết.
- # DIV / 0: Lỗi này xảy ra chủ yếu do khi chúng ta cố gắng chia số cho số không. Lỗi này được gọi là "Phân chia theo số không"
- # N / A: Khi bạn cố gắng tìm nạp dữ liệu từ bảng khác và nếu không tìm thấy giá trị nào thì chúng tôi sẽ gặp lỗi này và lỗi này được gọi là "Không có sẵn".
- #NAME ?: Nếu excel không thể nhận dạng công thức hoặc tên thì chúng tôi sẽ gặp lỗi này.
- #NULL !: Khi bạn chỉ định một ký tự khoảng trắng ở giữa các tham chiếu ô thay vì dấu phẩy.
- #NUM !: Giá trị số được cung cấp cho dữ liệu không phải là giá trị hợp lệ.
- #VALUE !: Khi bạn tham chiếu giá trị ô cho các phép tính toán học và nếu định dạng số không chính xác, chúng tôi sẽ gặp lỗi này.
- #REF !: Nếu ô là một công thức, nó có tham chiếu ô và nếu ô được tham chiếu đó bị xóa thì chúng tôi sẽ gặp lỗi tham chiếu này.
Ví dụ số 2
Bây giờ, hãy xem tập dữ liệu dưới đây.
Chúng ta cần xác định các giá trị lỗi từ danh sách này là gì và lưu trữ kết quả TRUE hoặc FALSE trong cột tiếp theo.
Vì chúng ta cần kiểm tra nhiều ô nên chúng ta cần đưa ô này vào các vòng lặp, đoạn mã dưới đây sẽ xác định các giá trị lỗi.
Mã:
Sub IsError_Example2 () Dim k As Integer For k = 2 to 12 Cells (k, 4) .Value = IsError (Cells (k, 3) .Value) Next k End Sub
Khi bạn chạy mã này, chúng tôi sẽ nhận được kết quả ở cột 4 bên dưới.
Bất cứ nơi nào ĐÚNG ở đó giá trị đó là giá trị lỗi.
Những điều cần ghi nhớ
- ISERROR trả về kết quả kiểu Boolean tức là TRUE hoặc FALSE.
- Nó có sẵn dưới dạng một hàm trang tính cũng như một hàm VBA.
- Nó hữu ích như một phần của các dự án VBA lớn.
- Nó chỉ nhận ra các giá trị lỗi được xác định trước (Loại lỗi đọc).