Cấu trúc Select Case (1 người xem)

  • Thread starter Thread starter NH_DK
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

NH_DK

Let's patience
Tham gia
29/7/10
Bài viết
865
Được thích
1,204
Nghề nghiệp
Kế toán
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!
 
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!

Select 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
 
Upvote 0
Select 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
nếu kèm file excel mẫu thì tốt quá thưa anh
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom