VBA IIF - Làm thế nào để sử dụng hàm VBA IIF trong Excel? (với các ví dụ)

Mục lục

Excel VBA IIF

Nếu bạn là người thường xuyên sử dụng macro VBA, thì chắc hẳn bạn đã bắt gặp chức năng có tên “IIF”, hoặc bạn có thể đã thấy chức năng này trên internet. Ngay từ cái nhìn đầu tiên, chắc hẳn bạn đã nghĩ đó là điều kiện IF giống như câu lệnh IF thông thường của chúng ta trong Excel. Nhưng đây không phải là câu lệnh IF mà chúng tôi sử dụng để đánh giá các bài kiểm tra logic và đưa ra kết quả dựa trên các tiêu chí chúng tôi đưa ra. Trong bài viết này, chúng tôi sẽ đưa bạn qua điều kiện “VBA IIF” trong VBA.

Điều kiện IIF làm gì trong VBA?

Điều này rất giống với điều kiện IF của chúng ta nhưng hơi khác về bản chất. Điều kiện “VBA IIF” kiểm tra biểu thức hoặc kiểm tra logic được cung cấp và kết quả là trả về TRUE hoặc FALSE.

Cú pháp VBA IIF

Hãy xem cú pháp của hàm IIF.

  • Biểu hiện: Đây không là gì ngoài bài kiểm tra logic mà chúng tôi muốn tiến hành.
  • Phần chắc chắn: Nếu bài kiểm tra logic là ĐÚNG, thì phần nào sẽ là ĐÚNG.
  • Phần Sai: Nếu bài kiểm tra logic là FALSE, thì kết quả của phần FALSE sẽ là bao nhiêu.

Chúng ta có thể nhập kết quả của riêng mình với phần TRUE & FALSE. Mặc dù các đối số trông tương tự như đối số của điều kiện IF, điều này sẽ hơi khác một chút. Chúng ta sẽ thấy điều đó trong các ví dụ về hàm VBA IIF trong Excel.

Một trong những điểm khác biệt chính giữa “IF” thông thường và “IIF” này là chúng ta có thể giảm mã xuống một dòng duy nhất với điều kiện Iwherewithwith IF và cần tối thiểu 5 dòng để có cùng một kết quả.

Ví dụ về hàm VBA IIF

Dưới đây là các ví dụ về Hàm VBA IIF trong excel.

Ví dụ # 1 - VBA IIF

Ok, chúng ta sẽ thấy một ví dụ đơn giản về hàm IIF. Bây giờ chúng ta sẽ kiểm tra xem một số lớn hơn hay nhỏ hơn một số khác. Làm theo các bước dưới đây để viết mã VBA.

Bước 1: Khởi động macro.

Bước 2: Định nghĩa biến là Chuỗi trong VBA.

Mã:

Sub IIF_Example () Dim FinalResult làm chuỗi kết thúc Sub

Bước 3: Xác định thêm hai biến là Long trong VBA.

Mã:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long End Sub

Bước 4: Bây giờ, đối với biến “Number1” gán giá trị là 105 và đối với biến “Number2” thì gán giá trị là 100.

Mã:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

Bước 5: Bây giờ, đối với biến được xác định đầu tiên, “FinalResult”, chúng ta sẽ gán kết quả của hàm IIF. Vì vậy, hãy mở IIF cho biến.

Bước 6: Cung cấp biểu thức dưới dạng Number1> Number2.

Bước 7: Bây giờ, nếu biểu thức là TRUE, kết quả sẽ là bao nhiêu. Tôi sẽ gán kết quả là “Số 1 lớn hơn Số 2”.

Bước 8: Bây giờ, nếu biểu thức là FALSE, kết quả sẽ là bao nhiêu. Tôi sẽ gán kết quả là “Số 1 nhỏ hơn Số 2”.

Bây giờ giá trị biến sẽ là một trong những giá trị dưới đây.

Nếu Đúng: “Số 1 lớn hơn Số 2”

Nếu Sai: “Số 1 nhỏ hơn Số 2”

Bước 9: Hãy hiển thị kết quả trong một hộp thông báo trong VBA.

Mã:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 lớn hơn Number 2", "Number 1 nhỏ hơn Number 2") MsgBox FinalResult End Sub

Bây giờ hãy chạy mã và xem kết quả.

Vì giá trị Số 1 là 105, lớn hơn giá trị Số 2 là 100, chúng tôi nhận được kết quả là “Số 1 lớn hơn Số 2”. Vì Biểu thức là TRUE, điều kiện IIF trả về kết quả này.

Ví dụ # 2 - IF so với IIF

You must be wondering what the difference between IF & IIF is. Yes, there is a difference in coding. For example, look at the IF condition code.

Code:

Sub IIF_Example() Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is Greater than Number 2" Else MsgBox "Number 1 is Less than Number 2" End If End Sub

Using IF first, we have applied a logical test.

If Number1> Number2 Then

Then if the logical test is true, we have applied the result.

MsgBox "Number 1 is Greater than Number 2"

Then if the logical test is false, we have applied the different results.

MsgBox "Number 1 is Less than Number 2"

Cả hai hàm đều trả về cùng một kết quả, nhưng với IIF, chúng ta chỉ có thể viết mã trong một dòng duy nhất, trong đó câu lệnh IF yêu cầu nhiều dòng.

Ví dụ # 3 - Điều kiện IIF lồng nhau của VBA

Giống như cách chúng ta sử dụng IF lồng nhau để kiểm tra nhiều điều kiện tương tự, chúng ta cũng có thể sử dụng nhiều IIF. Hãy xem đoạn mã dưới đây.

Mã:

Sub IIF_Example2 () Dim FinalResult là chuỗi Dim Marks As Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks) > 60, "Thứ ba", "Thất bại")))) MsgBox FinalResult End Sub

Điều kiện IIF ở trên kiểm tra năm phép thử logic và trả về kết quả tương ứng.

thú vị bài viết...