A/C ơi, về cấu trúc Select Case trong VBA cũng được sử dụng rất nhiều. Quả em không hiểu cách sử dụng của nó lắm. A/C tư vấn cho em cách sử dụng nhé! (Có ví dụ cụ thể thì càng tốt).
Cám ơn A/C nhiều!
''So sánh kiểu số
Function EventDay(ByVal DayOfMonth As Long) As String
Dim S As String
Select Case DayOfMonth
Case Is > 30
S = "Ngay khong hop le."
Case 1 To 6
S = "Tuan dau cua thang."
Case 7, 14, 21, 28
S = "Ngay chu nhat."
Case Is > 21
S = "Tuan cuoi cua thang."
Case Else
S = "Khong biet."
End Select
EventDay = S
End Function
''So sánh kiểu văn bản
Function EventWeek(ByVal DayOfWeek As String) As String
Dim S As String
Select Case DayOfWeek
Case "Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Chu Nhat"
S = "Ngay hop le"
Case "A" To "Z"
S = "Ky tu hop le."
Case Else
S = "Khong biet."
End Select
EventWeek = S
End Function
Function ThuongPhat(ByVal NgayCong As Long, ByVal ChucVu As String) As Long
If NgayCong > 22 And ChucVu = "GD" Then
ThuongPhat = 100
ElseIf NgayCong > 23 And ChucVu = "PGD" Then
ThuongPhat = 80
Else
ThuongPhat = 0
End If
End Function
nếu kèm file excel mẫu thì tốt quá thưa anhSelect Case là một dạng lệnh rẽ nhánh. Bình thường người ta hay dùng lệnh If nhưng trong 2 ví dụ dưới đây dùng If không tốt bằng Select Case.
Select Case thường được dùng rẽ nhánh với điều kiện so sánh hoặc (OR) hoặc khi các biểu thức so sánh có các phần tử so sánh cùng kiểu giá trị.
Mã:''So sánh kiểu số Function EventDay(ByVal DayOfMonth As Long) As String Dim S As String Select Case DayOfMonth Case Is > 30 S = "Ngay khong hop le." Case 1 To 6 S = "Tuan dau cua thang." Case 7, 14, 21, 28 S = "Ngay chu nhat." Case Is > 21 S = "Tuan cuoi cua thang." Case Else S = "Khong biet." End Select EventDay = S End Function ''So sánh kiểu văn bản Function EventWeek(ByVal DayOfWeek As String) As String Dim S As String Select Case DayOfWeek Case "Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Chu Nhat" S = "Ngay hop le" Case "A" To "Z" S = "Ky tu hop le." Case Else S = "Khong biet." End Select EventWeek = S End Function
Trong trường hợp lệnh rẽ nhánh bởi điều kiện và (AND) hoặc so sánh phức tạp với các biểu thức so sánh mà các phần tử tham gia có các kiểu giá trị khác nhau thì sẽ dùng lệnh IF.
Mã:Function ThuongPhat(ByVal NgayCong As Long, ByVal ChucVu As String) As Long If NgayCong > 22 And ChucVu = "GD" Then ThuongPhat = 100 ElseIf NgayCong > 23 And ChucVu = "PGD" Then ThuongPhat = 80 Else ThuongPhat = 0 End If End Function
Bạn xem fle đính kèmnếu kèm file excel mẫu thì tốt quá thưa anh