Mệnh đề if luôn luôn được sử dụng trong VBA để lập trình các ứng dụng excel.
If [điều kiện] Then
[code được thực thi]
End If
If [điều kiện] Then
[code được thực thi]
Else
[code được thực thi]
End If
If [điều kiện 1] Then
[code được thực thi]
ElseIf [điều kiện 2] Then
[code được thực thi]
End If
Nếu [Thu nhập ròng] >=100 tr thì đi du lịch MỸ
* Thu nhập ròng = Tổng thu nhập - Tổng chi phí
Thì [Thu nhập ròng] >=100 tr là điều kiện
Giả sử ta có thu nhập ròng là 200 tr thì điều kiện là 200>=100
Nếu nhìn bằng mắt thường thì ta thấy đã thỏa điều kiện, nhưng làm sao để máy tính (VBA Excel) nó hiểu được điều kiện này đúng, có nghĩa ta viết code làm sao để máy tính nó nhận diện được 200>=100 là đúng.
Ta thử gõ: Msgbox 200>=100 xem kết quả thế nào ?
Máy tính nó đã hiểu được là 200>=100 là TRUE.
Để máy tính làm 1 hành động nào đó khi 200>=100 thì ta phải sử dụng lệnh if vba
if 200>=100 then
Msgbox "DUNG, ban thu xep di du lich nhe !"
end if
* Bạn có nhận ra vấn đề là 200>=100 ta đâu thể biết trước các con số này mà phải lấy từ biến
Dim tongthunhap as Long
Dim tongchiphi as Long
Dim thunhaprong as Long
tongthunhap=400
tongchiphi=200
thunhaprong=tongthunhap-tongchiphi
if thunhaprong>=100 then
Msgbox "DUNG, ban thu xep di du lich nhe !"
end if
// Nếu viết 1 cách rõ ràng hơn thì
Dim tongthunhap as Long
Dim tongchiphi as Long
Dim thunhaprong as Long
Dim dieukiendidulich as Boolean
//
tongthunhap=400
tongchiphi=200
thunhaprong=tongthunhap-tongchiphi
dieukiendidulich = ( thunhaprong>=100 )
if dieukiendidulich then
Msgbox "DUNG, ban thu xep di du lich nhe !"
end if
1=1 là TRUE hay False
1=2 là TRUE hay False
Các toán tử so sánh trong VBA Excel >, <, <>,> =, <=, =.
2>1 là TRUE hay False
Làm sao để VBA trả lời được 1 điều kiện đó TRUE hay False
Cách 1:
Msgbox 1=1
Cách 2:
Dim dk as Boolean
dk=(1=1)
Msgbox dk
Thực tế khi làm phần mềm bằng VBA thì khi đã biết trước là đúng hay sai thì không cần phải
Msgbox 1=1
Điều kiện Điều này đúng khi
x <5 x nhỏ hơn 5
x <= 5 x nhỏ hơn hoặc bằng 5
x> 5 x lớn hơn 5
x> = 5 x lớn hơn hoặc bằng 5
x = 5 x bằng 5
x <> 5 x không bằng 5
x> 5 And x <10 x lớn hơn 5 VÀ x nhỏ hơn 10
x = 2 Or x> 10 x bằng 2 HOẶC x lớn hơn 10
Vùng dữ liệu (“A1”) = “John” Ô A1 chứa văn bản “John”
Vùng dữ liệu (“A1”) <> “John” Ô A1 không chứa văn bản “John”
Khai bao biến
Dim hoten as String
Dim diem as Double
Hoten="Tran A"
diem=8
' Cách xếp loại:
nếu điểm >=8 thì giỏi
nếu diem>=7 và diem<8 thì khá
nếu diem>=5 và diem<7 thì trung bình
nếu diem<5 kém
* in ra câu: "Tran A co xep loai la GIOI"
Tùy vào giá trị của biến diem
Mệnh đề if trong vba excel sử dụng như thế nào