|
模块:
Function GetNum()
Dim Rng As Range, TempRng As Range
Dim Cnt%
Set Rng = Sheets("fenban (2)").Range("E3:E215")
For Each TempRng In Rng
If InStr(1, TempRng.Value, "1") > 0 Or InStr(1, TempRng.Formula, "1") > 0 Then Cnt = Cnt + 1
Next
GetNum = Cnt
End Function
Function GetNum1()
Dim Rng As Range, TempRng As Range
Dim Cnt%
Set Rng = Sheets("fenban (2)").Range("E3:E215")
For Each TempRng In Rng
If InStr(1, TempRng.Value, "2") > 0 Or InStr(1, TempRng.Formula, "2") > 0 Then Cnt = Cnt + 1
Next
GetNum1 = Cnt
End Function
Function GetNum2()
Dim Rng As Range, TempRng As Range
Dim Cnt%
Set Rng = Sheets("fenban (2)").Range("E3:E215")
For Each TempRng In Rng
If InStr(1, TempRng.Value, "3") > 0 Or InStr(1, TempRng.Formula, "3") > 0 Then Cnt = Cnt + 1
Next
GetNum2 = Cnt
End Function
Function GetNum3()
Dim Rng As Range, TempRng As Range
Dim Cnt%
Set Rng = Sheets("fenban (2)").Range("E3:E215")
For Each TempRng In Rng
If InStr(1, TempRng.Value, "4") > 0 Or InStr(1, TempRng.Formula, "4") > 0 Then Cnt = Cnt + 1
Next
GetNum3 = Cnt
End Function
按钮 班级排名:
Private Sub CommandButton2_Click()
Dim Rng As Range
Dim i As Integer
Call GetNum
i = GetNum + 3
Set Rng = Range(Cells(3, 18), Cells(GetNum + 2, 18))
Rng.FormulaR1C1 = "=RANK(RC[-1],R3C[-1]:R" & GetNum + 2 & "C[-1])"
Set Rng = Nothing
End
Call GetNum1
Set Rng = Range(Cells(i, 18), Cells(GetNum1 + GetNum + 2, 18))
Rng.FormulaR1C1 = "=RANK(RC[-1],R3C[-1]:R" & GetNum1 + GetNum + 2 & "C[-1])"
Set Rng = Nothing
End
Call GetNum2
Set Rng = Range(Cells(GetNum1 + GetNum + 3, 18), Cells(GetNum2 + GetNum1 + GetNum + 2, 18))
Rng.FormulaR1C1 = "=RANK(RC[-1],R3C[-1]:R" & GetNum2 + GetNum1 + GetNum + 2 & "C[-1])"
Set Rng = Nothing
End
Call GetNum3
Set Rng = Range(Cells(GetNum2 + GetNum1 + GetNum + 3, 18), Cells(GetNum3 + GetNum2 + GetNum1 + GetNum + 2, 18))
Rng.FormulaR1C1 = "=RANK(RC[-1],R3C[-1]:R" & GetNum3 + GetNum2 + GetNum1 + GetNum + 2 & "C[-1])"
Set Rng = Nothing
End Sub
就是按 班级排名 不好用,请高手指点
怎么只有getnum有运行,其它的没有?还有call getnum中getnum不返回的,这个不是引用。因为定义为function,只要一用到就调用一次,可以定义一个全局变量
|
|