Trả về một giá trị Boolean cho biết liệu một biếntham đối tùy chọn đã được chuyển đến một quy trình.
Cú pháp
IsMissing( argname )
Đối số argname bắt buộc chứa tên của một đối số thủ tục Variant tùy chọn.
Chú thích
Dùng hàm IsMissing để phát hiện các đối số Variant tùy chọn có được cung cấp trong quy trình gọi hay không. IsMissing trả vềTrue nếu không có giá trị nào được truyền cho đối số đã xác định; nếu không, nó trả về False. Nếu IsMissing trả vềTrue cho một đối số, việc sử dụng tham đối thiếu trong mã khác có thể gây ra lỗi do người dùng xác định. Nếu IsMissing được dùng trên đối số ParamArray , nó luôn trả về False. Để phát hiện paramArray trống, hãy kiểm tra xem giới hạn trên của mảng có nhỏ hơn giới hạn dưới của mảng không.
Lưu ý: IsMissing không hoạt động trên các kiểu dữ liệu đơn giản (chẳng hạn như Số nguyên hoặc Kép) vì, không giống như Biến_thể, chúng không có cung cấp cho bit cờ "bị thiếu". Vì vậy, cú pháp cho các đối số tùy chọn được nhập cho phép bạn xác định một giá trị mặc định. Nếu đối số bị bỏ qua khi thủ tục được gọi, thì đối số sẽ có giá trị mặc định này, như trong ví dụ dưới đây:
Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
Trong nhiều trường hợp, bạn có thể bỏ qua kiểm tra If MyVar hoàn toàn bằng cách làm cho giá trị mặc định bằng với giá trị bạn muốn MyVar chứa nếu người dùng bỏ qua nó khỏi cuộc gọi hàm. Điều này giúp mã của bạn ngắn gọn và hiệu quả hơn.
Ví dụ
Ví dụ này sử dụng hàm IsMissing để kiểm tra xem một đối số tùy chọn đã được chuyển đến một thủ tục do người dùng xác định hay chưa. Lưu ý rằng các đối số Tùy chọn giờ đây có thể có các giá trị và kiểu mặc định khác với Biến_thể.
Dim ReturnValue
' The following statements call the user-defined ' function procedure. ReturnValue = ReturnTwice() ' Returns Null. ReturnValue = ReturnTwice(2) ' Returns 4. ' Function procedure definition. Function ReturnTwice(Optional A) If IsMissing(A) Then ' If argument is missing, return a Null. ReturnTwice = Null Else ' If argument is present, return twice the value. ReturnTwice = A * 2 End If End Function