在網上求助一位大神請他實作如何功能,功能說明:
1.評分標準表中是省上的評分標準,若有修改只需要在該表中修改即可。
2.成績錄入表中是學生進行體育測驗后,把學生成績錄入到該表中。
3.學生分數(自動計算)表是根據學生成績與評分標準自動計算出相關學生成績。學生資訊和成績錄入表中的學生資訊一樣。
得到如下代碼(VBA代碼),現請幫忙把這段代碼轉換成相同功能的C#代碼。如果有更好的代碼實作,那就更感謝了。
Sub test()
Dim r%, i%
Dim arr, brr
Dim rng As Range
Dim d As Object
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")
With Worksheets("評分標準")
d1("男") = .Range("b8:ap38")
d1("女") = .Range("b48:ap78")
End With
With Worksheets("成績錄入")
r = .Cells(.Rows.Count, 1).End(xlUp).Row
arr = .Range("a7:as" & r)
End With
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2) + 1)
For i = 1 To UBound(arr)
For j = 1 To 5
brr(i, j) = arr(i, j)
Next
Next
For i = 1 To UBound(arr)
If Len(arr(i, 9)) <> 0 Then
crr = d1(arr(i, 5))
For k = 1 To UBound(crr)
If arr(i, 9) <= crr(k, 5) Then
brr(i, 9) = crr(k, 1)
Exit For
End If
Next
If k > UBound(crr) Then
brr(i, 9) = 0
End If
End If
Next
With Worksheets("學生分數(自動計算)")
.UsedRange.Offset(6, 0).Clear
.Columns(3).NumberFormatLocal = "@"
.Range("a7").Resize(UBound(brr), UBound(brr, 2)) = brr
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/285319.html
標籤:C#
