Visual basic excel 2010

Function diemchu(ds)
If ds >= 8.5 And ds <= 10 Then
diemchu = "A"
ElseIf ds >= 7 And ds <= 8.4 Then
diemchu = "B"
ElseIf ds >= 5.5 And ds <= 6.9 Then
diemchu = "C"
ElseIf ds = 4 And ds <= 5.4 Then
diemchu = "D"
Else: diemchu = "F"
End If
End Function

Cho em hỏi đoạn code này có sai gì không mà sao khi chạy nó toàn ra điểm F không vậy. Thanks
 

quanltv

Sư phụ của ADMIN
Mã:
[COLOR=#000000][FONT=Time New Roman]ElseIf ds = 4 And ds <= 5.4 Then[/FONT][/COLOR]
Dòng này có lỗi, phải là "ds >= 4". Và bạn xem lại cài đặt dấu chấm, dấu phẩy trong trong Control Panel để cho kết quả đúng.
Cách thay đổi dấu phẩy thành dấu chấm trong Window 7, XP

Code demo (chú ý biến lưu giá trị số phải là Double, để nhận dấu chấm thập phân)

Mã:
Function diemchu(ds)If ds >= 8.5 And ds <= 10 Then
diemchu = "A"
ElseIf ds >= 7 And ds <= 8.4 Then
diemchu = "B"
ElseIf ds >= 5.5 And ds <= 6.9 Then
diemchu = "C"
ElseIf ds >= 4 And ds <= 5.4 Then
diemchu = "D"
Else: diemchu = "F"
End If
End Function


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim diemso As Double
Dim i As Integer
For i = 1 To 100
    diemso = Me.Cells(i, 1).Value
    Me.Cells(i, 2).Value = diemchu(diemso)
Next i
End Sub


vbaexcel.jpg
 
Top