Bác VetMini đã chỉ ra một trường hợp. Nhưng bản chất IF ... và Select là khác nhau. Trong Select ta có một biểu thức trả về 1 giá trị và code nào được thực hiện là do trị trả về quyết định. Còn trong IF thì ta có thể có 1 biểu thức duy nhất
Ở đây chỉ có 1 biểu thức k (k, 2*k, k + 3*sin(m) ... đều là biểu thức). Code đó chuyển sang Select thì đơn giản.
Nhưng cũng có thể trong mỗi IF, ELSEIF xét một biểu thức khác nhau, xét các khía cạnh khác nhau. Vd.
Bây giờ mà chuyển sang Select thì không được đẹp mắt như trường hợp ở trên.
Thành???
Mã:
Sub test()
Dim k As Long
' thường được xác định bằng cách nào đó, ở đây ta nhập "cứng"
k = 5
If k < 10 Then
' ...
ElseIf k < 15 Then
' ...
ElseIf k < 30 Then
' ...
Else
...
End If
End Sub
Nhưng cũng có thể trong mỗi IF, ELSEIF xét một biểu thức khác nhau, xét các khía cạnh khác nhau. Vd.
Mã:
Sub test()
If doc_ngay() <> "chủ Nhật" Then
' ...
ElseIf doc_nhan_vien() = "Kim lác" Then
' ...
ElseIf doc_gioi_tinh() = "Nữ" Then
' ...
ElseIf hom_qua_co_nhau_thau_dem() Then
' ....
Else
' ...
End If
End Sub
Bây giờ mà chuyển sang Select thì không được đẹp mắt như trường hợp ở trên.
Thành???
Mã:
Sub test()
Select Case doc_ngay()
Case doc_ngay() <> "chủ Nhật"
' ...
Case Else
Select Case doc_nhan_vien()
Case "Kim lác"
' ...
Case Else
Select Case doc_gioi_tinh()
Case "Nữ"
' ...
Case Else
Select Case hom_qua_co_nhau_thau_dem()
Case True
' ...
Case Else
' ...
End Select
End Select
End Select
End Select
End Sub