- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
2#
發表於 2011-4-25 11:18
| 只看該作者
本帖最後由 hugh0620 於 2011-4-25 11:20 編輯
回復 1# monstrooilis
樓主~ 下載您的附件~ 少一個欄位by month~ 是否可以補齊~
這樣比較好處理~ 您所需要的結果~
若不知道碼怎麼寫~ 可以使用[錄製巨集]的方式~ 試一下~
下述程式碼與樓主現在使用的方式,可以達到相同的功能~
Sub CalcGrades()
StudentID = Val(InputBox("Enter the student ID"))
If StudentID = False Then Exit Sub '多一行~ 可以使您在未輸入值的時候,不會產生執行上的錯誤
Range("G1").Value = StudentID
Range("G2").Value = Application.WorksheetFunction.VLookup(StudentID, Range("A2:B" & intLastRow), 2, False)
lCount = Application.CountIf(Range("B:B"), Range("G2"))
Mark = Application.SumIf(Range("B:B"), Range("G2"), Range("C:C"))
Mark = Round(Mark / lCount, 2)
Range("G3").Value = Mark
End Sub |
|