Excel VBA: Các Mệnh đề điều Khiển - Viblo
Tiếp tục chủ đề ở phần trước, bài này tôi xin giới thiệu tới các bạn về các mệnh đề điều khiển trong VBA
Mệnh đề if-elseĐây là mệnh đề khá phổ biến trong Excel VBA để thực hiện các đoạn code nếu nó thỏa mãn điều kiện cụ thể nào đó. Nó kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện là True thì chỉ có khối lệnh sau if sẽ được thực hiện, nếu là False thì chỉ có khối lệnh sau else được thực hiện.
Cú pháp:
If (condition) Then ' khối lệnh này được thực thi ' nếu condition là true Else ' khối lệnh này được thực thi ' nếu condition = false End IfCác toán tử được sử dụng trong mệnh đề if-else: = bằng
> Lớn hơn < nhỏ hơn >= Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng <> khácLogic
And: Và or: Hoặc Xor: cả 2 đúng hoặc sai là đúng Not: phủ địnhVí dụ 1: Tính Pass, Fail bài report tháng dựa vào % hoàn thành của bài report. Nếu >=60% thì bài report đó Pass, và ngược lại là Fail. Bằng cách sử dụng mệnh đề if- else thì ta có kết quả sau:
Vòng lặp forVòng lặp là 1 cấu trúc chương trình cho phép 1 câu lệnh hoặc 1 nhóm câu lệnh thực hiện 1 số lần có giới hạn. Giới hạn này có thể biết trước và có thể không, nhưng phải có để máy tính ngừng lại khi đủ số lần lặp ấn định trước. Giới hạn này có thể xác định bằng 1 con số cụ thể, 1 con số là kết quả của 1 phép tính, và cũng có thể là 1 điều kiện thoát ra khỏi vòng lặp.
Nếu số lần lặp là cố định thì vòng lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.
Cú pháp vòng lặp for:
For counter = start To end [Step stepcount] [statement 1] [statement 2] .... [statement 10] [Exit For] [statement 11] [statement 22] .... [statement n] NextTrong đó:
[Step stepcount] là tùy chọn, nó rất hữu ích khi đếm lùi, đếm nhiều đơn vị một vòng lặp. Hãy xem các ví dụ dưới đây để hiểu các trường hợp sử dụng vòng lặp for trong VBA.
Ví dụ 2: Tiếp tự bài toán ở ví dụ 1, lần yêu cầu bài toán đưa ra đó là tính Pass/Fail bài report của list 15 nhân viên. Kết hợp sử dụng mệnh đề if - else và vòng lặp for ta có kết quả như sau:
Vòng lặp Do-WhileCông việc nhập lặp đi lặp lại do vậy ta cần sử dụng vòng lặp. Nếu số lần lặp là không xác định nên không thể sử dụng vòng lặp For, nhưng nếu việc kiểm tra được tiến hành sau or trước khi thực hiện thì ta sẽ sử dụng vòng lặp Do ... While.
Cú pháp: Kiểm tra điều kiện ở đầu vòng lặp
Do While condition [statement 1] [statement 2] ... [statement l] [Exit Do] [statement m] ... [statement n] LoopVí dụ 3: Cũng yêu cầu bài toán nhưng ở ví dụ 2 ta cũng có thể sử dụng vòng lặp do-while để giải quyết vấn đề với cú pháp kiểm tra điều kiện ở đàu vòng lặp.
Cú pháp: Kiểm tra điều kiện ở cuối vòng lặp
Do [statement 1] [statement 2] ... [statement l] [Exit Do] [statement m] ... [statement n] Loop While conditionVí dụ 4: Sử dụng vòng lặp do-while để giải quyết vấn đề với cú pháp kiểm tra điều kiện ở cuối vòng lặp.
Mệnh đề Select-CaseMệnh đề Select-Case trong VBA được sử dụng để thực thi 1 hoặc nhiều khối lệnh từ nhiều điều kiện.
Khi một người dùng muốn thực hiện một nhóm các câu lệnh tùy thuộc vào một giá trị của một biểu thức, thì Select-Case sẽ được sử dụng. Mỗi giá trị được gọi là Case. Câu lệnh Case Else được thực thi nếu biểu thức kiểm tra không khớp với bất kỳ trường hợp nào được chỉ định bởi người dùng.
Case Else là một câu lệnh tùy chọn trong mệnh đề Select-Case, tuy nhiên, nó là tốt hơn khi luôn luôn có một câu lệnh Case Else.
Cú pháp:
Select Case expression Case expressionlist1 statement1 statement2 .... Case expressionlist2 statement1 statement2 .... Case expressionlistn statement1 statement2 .... Case Else elsestatement1 elsestatement2 .... End SelectVí dụ 5: Tiếp tục với ví dụ 4, bài toán đưa ra đó là cần phải phân loại các bài report dựa trên % hoàn thành. Kết hợp sử dụng vòng lặp do ... while và mệnh đề select- case ta có kết quả như sau:
Từ khóa » Cú Pháp Vba
-
Tìm Hiểu Sub Trong VBA: Cú Pháp Và Cách Gọi Sub
-
HƯỚNG DẪN CÁCH VIẾT HÀM VBA TRONG EXCEL
-
Quy định Về Cú Pháp Và Các Trợ Giúp Viết Mã Lệnh Trong VBA - YouTube
-
(PDF) Sách Lập Trình Excel Bằng VBA | Hùng Tô
-
Các Câu Lệnh VBA đơn Giản | Giải Pháp Excel
-
Vòng Lặp FOR Trong VBA Và Các Ví Dụ Cách Sử Dụng
-
Tìm Hiểu Về Lỗi Cú Pháp Trong VBA Excel Và Cách Khắc Phục
-
HƯỚNG DẪN ĐẦY ĐỦ CÂU LỆNH IF TRONG VBA - Học Excel Online
-
Tìm Hiểu Về VBA Là Gì? Giải Thích đầy đủ Nhất Về VBA Excel 2022 Có ...
-
Vòng Lặp For Trong VBA - VietTuts
-
Vòng Lặp Do-While Trong VBA - VietTuts
-
Cách Gọi Hàm Vba Trong Excel / TOP #10 Xem Nhiều Nhất & Mới ...
-
Các Hàm Chuyển đổi Kiểu - Microsoft Support
-
[Excel VBA Tip] Cách Sử Dụng Hàm IF Trong VBA Excel - .vn