Chỉnh giúp code VBA (1 người xem)

Liên hệ QC

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

Status
Không mở trả lời sau này.

le phuong van

Thành viên thường trực
Tham gia
18/9/07
Bài viết
306
Được thích
308
Mình đã làm thử làm hàm hocluc như file kèm và đã chạy tốt, tuy nhiên mình muốn: Nếu cột DTB để trống thì ô xếp loại học lực để trống, thì phải chỉnh code như thế nào?
 

File đính kèm

Mình đã làm thử làm hàm hocluc như file kèm và đã chạy tốt, tuy nhiên mình muốn: Nếu cột DTB để trống thì ô xếp loại học lực để trống, thì phải chỉnh code như thế nào?
Khai báo tbm bên trên là Variant
If tbm = "" Then
Hocluc = ""
Exit Function
End If
.......................của bạn.
Select Case tbm
Case Is >= 8.5

------------------
Mà trong Function của bạn chỉ xét có 3 môn Toán, Lý, Hoá thì đưa Văn sử... vào làm gì nhỉ?
Chỉ cần Hocluc(Toan,Ly,Hoa,Tbm) cũng được mà.
 
Lần chỉnh sửa cuối:
Upvote 0
Tạm thử với cái này

PHP:
Option Explicit
Function Hocluc(Toan As Single, Ly As Single, Hoa As Single, Van As Single, Su As Single, Dia As Single, _
   Optional TBM As Variant = "")
If TBM = "" Then
    Hocluc = "":        Exit Function
End If
Select Case TBM
 Case Is >= 8.5
    If Toan >= 7 And Ly >= 7 And Hoa >= 7 Then
        Hocluc = "giái"
    ElseIf Toan < 7 Or Ly < 7 Or Hoa < 7 Then
        Hocluc = "kh¸"
    End If
 Case Is >= 6.5
    If Toan >= 5.5 And Ly >= 5.5 And Hoa >= 5.5 Then
        Hocluc = "kh¸"
    ElseIf Toan < 5.5 Or Ly < 5.5 Or Hoa < 5.5 Then
        Hocluc = "tb"
    End If
Case Is >= 5
    If Toan >= 4 And Ly >= 4 And Hoa >= 4 Then
        Hocluc = "tb"
    ElseIf Toan < 4 Or Ly < 4 Or Hoa < 4 Then
        Hocluc = "yÕu"
    End If
Case Is < 5
    Hocluc = "yÕu"
Case Else
    Hocluc = "?"
End Select
End Function
 
Upvote 0
PHP:
Option Explicit
Function Hocluc(Toan As Single, Ly As Single, Hoa As Single, Van As Single, Su As Single, Dia As Single, _
   Optional TBM As Variant = "")
If TBM = "" Then
    Hocluc = "":        Exit Function
End If
Select Case TBM
 Case Is >= 8.5
    If Toan >= 7 And Ly >= 7 And Hoa >= 7 Then
        Hocluc = "giái"
    ElseIf Toan < 7 Or Ly < 7 Or Hoa < 7 Then
        Hocluc = "kh¸"
    End If
 Case Is >= 6.5
    If Toan >= 5.5 And Ly >= 5.5 And Hoa >= 5.5 Then
        Hocluc = "kh¸"
    ElseIf Toan < 5.5 Or Ly < 5.5 Or Hoa < 5.5 Then
        Hocluc = "tb"
    End If
Case Is >= 5
    If Toan >= 4 And Ly >= 4 And Hoa >= 4 Then
        Hocluc = "tb"
    ElseIf Toan < 4 Or Ly < 4 Or Hoa < 4 Then
        Hocluc = "yÕu"
    End If
Case Is < 5
    Hocluc = "yÕu"
Case Else
    Hocluc = "?"
End Select
End Function

Code này dư nhiều chỗ xét lô gíc quá:

Trong cái select, cái case đầu bao hết mấy trị lớn, case cuối bao hết mấy trị nhỏ, đâu còn chỗ cho case else nữa.

Trong mấy cái IF, trường hợp nào không thoả cái IF ... and ... and ... thì đương nhiên thoả mầy cái ElseIf ... Or ... Or ... rồi. Suy ra mấy cái ElseIf không cần.
 
Upvote 0
Status
Không mở trả lời sau này.

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

Back
Top Bottom