我搞了一天,还是不行。。
Sub 成绩得分()
Dim i As Integer, j As Integer
For i = 2 To 17
For j = 4 To 12
If Cells(i, j).Value < Range("y" & i).Value * 0.9 Then
Cells(i, j).Offset(0, 12) = Application.Rank(Cells(i, j), Range(Cells(i, 4), Cells(i, 12)), 1)
'ElseIf Cells(i, j).Offset(0, 12).Value = 1 Then
' Cells(i, j).Offset(0, 12).Value = 1
'ElseIf Cells(i, j).Offset(0, 12).Value = 2 Then
'Cells(i, j).Offset(0, 12).Value = 0.9
'ElseIf Cells(i, j).Offset(0, 12).Value = 3 Then
'Cells(i, j).Offset(0, 12).Value = 0.8
' ElseIf Cells(i, j).Offset(0, 12).Value >= 4 Then
'Cells(i, j).Offset(0, 12).Value = 0.7
Else
Cells(i, j).Offset(0, 12).Value = 0.6
End If
Next j
Next i
For i = 18 To 32
For j = 4 To 12
If Cells(i, j).Value < Range("y" & i).Value * 0.95 Then
Cells(i, j).Offset(0, 12) = Application.Rank(Cells(i, j), Range(Cells(i, 4), Cells(i, 12)), 1)
ElseIf Cells(i, j).Offset(0, 12).Value = 1 Then
Cells(i, j).Value = 1
ElseIf Cells(i, j).Offset(0, 12).Value = 2 Then
Cells(i, j).Value = 0.9
ElseIf Cells(i, j).Offset(0, 12).Value = 3 Then
Cells(i, j).Value = 0.8
ElseIf Cells(i, j).Offset(0, 12).Value >= 4 Then
Cells(i, j).Value = 0.7
Else
Cells(i, j).Offset(0, 12).Value = 0.6
End If
Next j
Next i
End Sub |