Excel VBA: Các Mệnh đề điều Khiển - Viblo
Có thể bạn quan tâm
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ấu Trúc Lệnh Trong Vba
-
HƯỚNG DẪN ĐẦY ĐỦ CÂU LỆNH IF TRONG VBA - Học Excel Online
-
Tìm Hiểu Về VBA Và Cách Sử Dụng Cơ Bản Nhất Trong Excel (Phần 1)
-
Cấu Trúc Lệnh Trong VBA - Giáo Trình Access 2 - 123doc
-
Các Câu Lệnh VBA đơn Giản | Giải Pháp Excel
-
(PDF) Sách Lập Trình Excel Bằng VBA | Hùng Tô
-
[VBA Excel] Các Toán Tử Logic
-
Các Lệnh Logic điều Khiển Trong VBA
-
Các Vòng Lặp Trong VBA: Vòng Lặp For Và Do While
-
Toán Tử Logic Trong VBA (And - Or - Not)
-
[Excel VBA Tip] Cách Sử Dụng Hàm IF Trong VBA Excel - .vn
-
Vòng Lặp For Trong VBA - VietTuts
-
Cách Sử Dụng Biến Trong VBA - Tin Học Văn Phòng
-
Hướng Dẫn Từng Bước Các Câu Lệnh Macro Trong Excel Bằng ...