BÀI 15 – ELSE…ELSEIF

Một phần của tài liệu HỌC LẬP TRÌNH VISUAL BASIC CHO NGƯỜI MỚI BẮT ĐẦU (Trang 70 - 74)

Ở bài học trước, các bạn đã thấy cách viết câu lệnh If đơn thuần, trong bài học này, chúng ta sẽ mở rộng câu lệnh if với Else và Elseif. Tại sao phải mở rộng? Vì các bạn cũng đễ dàng thấy rằng, ở ví dụ trong bài học trước, chúng ta viết câu lệnh if mà khơng có thêm phần mở rộng, dẫn đến tình trạng khi điều kiện sau if khơng xảy ra (FALSE) thì dường như VBA khơng có hoạt động gì cả. Else, Elseif sẽ khiến cho VBA tích cực vận động hơn.

Else

Giữa If và End If bạn cũng có thể thêm phần Else. Cấu trúc của câu lệnh If…Else như sau:

If Dieu_Kien_Kiem_Tra Then Else

End If

Tạm dịch như sau:

Nếu (If) điều kiện kiểm tra đúng (Dieu_Kien_Kiem_Tra) thì (Then)

Nếu điều kiện kiểm tra sai thì (Else)

Kết thúc câu lệnh if (End if)

Đại khái là phần mở rộng Else sẽ giúp chúng ta giải quyết dứt điểm trong trường hợp điều kiện kiểm tra khơng đúng. Cùng mình nhớ lại bài trước nào, có phải là ở bài trước chúng ta đặt biến MyNumber = 11 nên trong câu lệnh If, MyNumber = 10 thì khơng có gì xảy ra khi chúng ta ấn F5. Giờ cũng với ví dụ trong bài trước, nhưng chúng ta bổ sung thêm phần mở rộng Else như bên dưới nhé:

Dim MyNumber As Integer MyNumber = 11

If MyNumber = 10 Then MsgBox “Number = 10″ Else

MsgBox “Number is not 10″ End If

Mình tạm giải thích đoạn code trên như sau: Khai báo biến MyNumber là số nguyên, đặt biến MyNumber có giá trị bằng 11. Nếu biến MyNumber bằng 10 thì hiện hộp thơng báo có nội dung “MyNumber = 10″. Nếu biến MyNumber khơng bằng 10 thì hiện hộp thoại thơng báo có nội dung “MyNuber is not 10″.

Khi chạy chương trình trên (bấm nút F5 trên bàn phím) bạn sẽ thấy một hộp thoại xuất hiện như hình dưới đây:

Nhấn OK trên hộp thông báo để quay lại cửa sổ mã code. Thay đổi số từ dòng thứ hai trong mã code của bạn từ 11 sang 10. Khi bạn chạy mã code lại một lần nữa, bạn sẽ thấy hộp thông báo “MyNumber = 10″ do điều kiện kiểm tra đã đúng (TRUE).

Câu lệnh IF vốn đã hay sử dụng và hiếm khi các lập trình viên lại bỏ qua phần mở rộng Else này, bởi vậy, các bạn cần ghi nhớ từ khóa, và triển khai nó một cách hợp lý để kiểm sốt tồn bộ việc lập trình liên quan đến IF, một trong những câu lệnh cực kì phổ biến khơng chỉ trong VBA mà trong mọi ngơn ngữ lập trình.

Khi điều kiện khơng đúng (FALSE) chúng ta có Else, vậy nếu như mình có nhiều điều kiện muốn kiểm tra đồng thời thì thê nào? Elseif sẽ là giải pháp phù hợp cho bạn.

ElseIf

Thực tế cho thấy rằng, khi chúng ta có nhiều hơn hai điều kiện muốn kiểm tra và ở mỗi điều kiện kiểm tra lại cần trả về những thông báo khác nhau thì ElseIf sẽ phát huy hết sức mạnh của nó. Cịn khi chúng ta có nhiều hơn hai điều kiện cần kiểm tra mà phần kết quả trả về là một thơng báo thì chúng ta có thể sử dụng kết hợp các từ khóa như And/Or (Và/Hoặc) trong phần điều kiện cần kiểm tra. Một ví dụ đơn giản như sau:

Dim MyNumber As Integer Dim MyNumber1 As Integer MyNumber = 10

MyNumber1 = 11

If MyNumber 10 and MyNumber1 = 11 Then MsgBox “So Good”

Else

MsgBox “So Bad” End if

Trong ví dụ trên thì các bạn cũng có thể thay từ khóa and bằng từ khóa or. And tức là các điều kiện xảy ra đồng thời, còn Or tức là chỉ cần một điều kiện đúng là được. Đấy là hai điều kiện kiểm cần kiểm tra đều chỉ cần hiện ra ngồi màn hình cụm từ “So Good” hoặc “So Bad”.

Và khi cần nhiều hơn sự tùy chỉnh điều kiện trả về dựa trên kết quả thực có thì Elseif sẽ được dùng như sau:

If Dieu_Kien_Kiem_Tra_1 Then ElseIf Dieu_Kien_Kiem_Tra_2 Then End If

Các bạn cũng có thể có nhiều hơn một dịng Else nếu đoạn code của bạn có nhiều điều kiện cần kiểm tra. Kiểu như sau:

If Dieu_Kien_Kiem_Tra_1 Then

ElseIf Dieu_Kien_Kiem_Tra_2 Then

ElseIf Dieu_Kien_Kiem_Tra_3 Then

End If

Nhớ là cịn có thể có nhiều hơn nữa nếu các bạn muốn nhé. ^^ Và để có thể kiểm sốt hết được mọi điều kiện cịn thiếu (đơi khi là bỏ sót) thì chúng ta vẫn tiếp tục dùng phần mở rộng Else như sau:

If Dieu_Kien_Kiem_Tra_1 Then ElseIf Dieu_Kien_Kiem_Tra_2 Then Else

End If

Và để thử nghiệm những gì chúng ta đang nói ở trên thì các bạn mở excel, vào phần code của VBA (Alt +F11) tạo một Sub mới với tên gọi If_Test_2. Tiếp tục hoàn thiện phần code sao cho giống dưới đây:

Trước hết VBA kiểm tra biến MyNumber với giá trị là 10. Nếu điều kiện kiểm tra này đúng (TRUE) thì phần hộp thoại thông báo đầu tiên sẽ được thực hiện. Nếu MyNumber khơng có giá trị 10 thì VBA kiểm tra xuống đến phần Elself. Bằng việc nó kiểm tra MyNumber với giá trị 11, Nếu là

If và tiếp tục cơng việc của mình. (Trong trường hợp này là khơng làm gì cả vì chúng ta chỉ viết tí

tẹo code trên thôi mà).

Bây giờ quay trở lại của sổ code của bạn và thay đổi dòng thứ hai từ MyNumber = 11 sang MyNumber =10. Chạy mã code của bạn lần nữa và hộp thông báo đầu tiên xuất hiện. (MyNumber = 10)

Tiếp tục trở lại cửa sổ codecủa bạn và thay đổi MyNumber sang 12. Nếu bạn thử chạy mã code bây giờ, khơng có gì xảy ra. Khơng có gì xảy ra bởi vì cả If và dịng Elself được đánh giá là FALSE. Và chính bởi vậy nên phần mở rộng Else lại có đất dụng võ rồi:

If MyNumber = 10 Then MsgBox “Number = 10″ ElseIf MyNumber = 11 Then MsgBox “Number = 11″ Else

MsgBox “Not 10 or 11″ End If

Chạy mã code của bạn lại và bạn sẽ thấy hộp thông báo thứ ba xuất hiện (Not 10 or 11). Bằng cách thêm Else bạn đã đảm bảo rằng ít nhất một phần của câu lệnh If sẽ là TRUE.

Trong bài học tiếp theo, bạn sẽ tìm hiểu về các tốn tử điều kiện mà thường được sử dụng với câu lệnh If.

Một phần của tài liệu HỌC LẬP TRÌNH VISUAL BASIC CHO NGƯỜI MỚI BẮT ĐẦU (Trang 70 - 74)

Tải bản đầy đủ (DOCX)

(78 trang)
w