BÀI 16 – TỐN TỬ CĨ ĐIỀU KIỆN

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 74 - 78)

Chào mừng các bạn đã đến với hệ thống bài tự học VBA hồn tồn miễn phí từ website H2 Account – Website chính thức của phần mềm kế tốn excel H2 Account. Tất cả các bài viết được biên soạn lược bỏ đi nhiều từ ngữ chuyên môn nhằm giúp các bạn mới làm quen với VBA có thể dễ dàng tiếp cận việc học ngơn ngữ lập trình này.

Tong bài học trước với câu lênh IF, bạn đã sử dụng một tốn tử có điều kiện là dấu bằng “=”. Thử nhớ lại nhé: MyNumber = 10 đúng khơng? Ok, và với mọi ngơn ngữ lập trình các bạn cần sử dụng nhiều điều kiện hơn thế, giống như dưới đây

Mặc dù bảng trên là bảng tiếng Anh nhưng chúng ta cũng có thể dựa trên chiều của dấu để hiểu về ý nghĩa của từng toán tử. Bằng (=) – Nhỏ hơn (<)- Lớn hơn (>) – Nhỏ hơn hoặc bằng (<=)- Lớn hơn hoặc bằng (>=)- Khơng bằng (<>). Khi đó điều kiện kiểm tra của bạn sẽ phức tạp hơn nhiều rồi đấy.

Chúng ta sẽ tạo một Sub mới với tên gọi là : If_Test_3. và gõ phần code bên trong sub như dưới đây:

Dim MyNumber As Integer MyNumber = 10

If MyNumber < 20 Then

MsgBox MyNumber & ” is Less than 20″ End If

Như thường lệ, chúng ta khai báo biến MyNumber là dạng số nguyên và gán giá trị 10 cho nó. Các bạn hãy quan sát phần điều kiện kiểm tra phía sau từ khóa If:

If MyNumber < 20 Then

Các bạn thử dịch nghĩa câu trên (tham khảo bài trước) và kết hợp với dòng lệnh dưới đây nhé: MsgBox MyNumber & ” is Less than 20″

Một ký tự đặc biệt xuất hiện, và đó chính là & . Đây là ký tự đặc biệt vì từ bài học đầu đến giờ các bạn mới gặp cịn nó khơng đặc biệt trong excel. Chúng ta vẫn thường dùng nó để nối các hàm lại với nhau. Và trong câu lệnh trên thì tác dụng của & là nối biến MyNumber với cụm từ “is less than 20″ (nhỏ hơn 20).

Một số bạn khi viết xong câu lệnh này sẽ tưởng tượng ra hộp thoại thơng báo sẽ hiện lên dịng chữ “MyNumber is less than 20″. Nhưng khơng, nó lại như hình dưới đây: (nhớ là phải ấn F5 hoặc nút tam giác xanh bên trên menu để chạy code nhé)

Oh, khơng có từ MyNumber nào ở trong hộp thoại này cả. Thay vào đó là số 10. Tại sao nhỉ? Vì chúng ta đã gán cho biến MyNumber giá trị bằng 10. Và ở câu lệnh: MsgBox MyNumber & ” is Less than 20″ các bạn có thấy rằng sau MsgBox khơng phải là dấu ngoặc kép “” như mọi khi mà lại là tên biến MyNumber. Như vậy có nghĩa là VBA sẽ lấy giá trị của biến để lồng ghép vào nội dung sẽ hiển thị ra màn hình khi sử dụng câu lệnhMsgBox

Quay trở lại đoạn code trong bài và thay đổi biến MyNumber = 10 ở dòng thứ hai thành MyNumber = 20

Chạy code lại và bạn sẽ khơng thấy có hội thoại nào hiện lên nữa.

Lý do cơ bản là bởi vì MyNumber = 20 thì điều kiện kiểm tra sau từ khóa If là nhỏ hơn 20 sẽ là khơng đúng (FALSE). Trong khi chúng ta lại không dùng thêm các phần mở rộng như là Else hay Else if (Bài 15). Nên khơng có chuyện gì xảy ra là hồn tồn hợp lý.

Bây giờ, các bạn thử thay đổi ký tự < (nhỏ hơn) thành ký tự <= (Nhỏ hơn hoặc bằng) và thay đổi nội dung trong câu lệnh MsgBox giống như dưới đây:

MsgBox MyNumber & ” is Less than or equal to 20″ Cả bộ code của bạn bây giờ sẽ trông giống như thế này: Dim MyNumber As Integer

MyNumber = 20

If MyNumber <= 20 Then

MsgBox MyNumber & ” is Less than or equal to 20″ End If

Khi bạn chạy code bạn sẽ nhận được hộp thông báo sau:

Click Ok và trở lại với dòng code của bạn, tiếp tục thay đổi ký tự <= (nhỏ hơn hoặc bằng) thành ký tự >= (lớn hơn hoặc bằng). Và sửa ln cả dịng lệnh MsgBox như dưới đây:

MsgBox MyNumber & ” is Greater than or equal to 20″ Khi bạn chạy code, hộp thoại mới sẽ hiện ra với nội dung như sau:

Trị chơi thí nghiệm vẫn tiếp tục bằng việc chúng ta sẽ xóa dấu bằng đi và chỉ để lại dấu lớn hơn. Đồng thời gán cho biến MyNumber = 25 và thay đoạn hiển thị ở câu lệnh MsgBox như sau:

Dim MyNumber As Integer MyNumber = 25

If MyNumber > 20 Then

MsgBox MyNumber & ” is Greater than 20″ End If

Chạy code để nhận được đoạn thơng báo mới như hình dưới:

Mở rộng hơn, chúng ta sẽ cùng kết hợp phần mở rộng Else, Elseif, và các toán tử ở bảng trên đồng thời vào một đoạn code ví dụ:

Dim MyNumber As Integer MyNumber = 19

If MyNumber = 20 Then

MsgBox MyNumber & ” is 20″ ElseIf MyNumber > 20 Then

MsgBox MyNumber & ” is Greater Than 20″ Else

MsgBox MyNumber & ” is below 20″ End If

Cùng mình dịch code nhé:

Khai báo biến MyNumber là Số nguyên Gán MyNumber bằng 19

Nếu MyNumber bằng 20 thì

Hiện hộp thoại: Giá trị của MyNumber is 20 Nếu MyNumber > 20 thì

Hiện hộp thoại: Giá trị của MyNumber is Greater Than 20 Nếu không xảy ra hai trường hợp trên

Hiện hộp thoại: Giá trị MyNumber is below 20 Kết thúc câu lệnh If

Tự học VBA cũng thật thú vị phải không nào các bạn, từng bước từng bước một, ôn đi ôn lại những kiến thức tưởng chừng như rất đơn giản nhưng sẽ giúp các bạn nắm chắc cấu trúc lập trình trong VBA, để rồi từ một đoạn code đơn giản như trên, các bạn kiên trì học thêm các bài học tiếp theo, mình tin chắc rằng các bạn sẽ tự xây dựng được những chương trình lớn giải quyết được các vấn đề đang tồn tại trong công việc của các bạn.

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 74 - 78)

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

(78 trang)
w