Calculate Grade Using VBA in Excel – Automatic Student Grade Calculator
Learn how to calculate student grades automatically in Microsoft Excel using VBA code, Excel formulas, grading scales, marksheets, and a clean step-by-step method for beginners.
Online Grade Calculator
Enter your obtained marks and total marks to calculate percentage, grade, and result automatically.
Quick Navigation
What Is an Excel Grade Calculator? Student Grade Scale Excel Formula Method Full Corrected VBA Code How to Use VBA Code in Excel Common VBA Errors FAQsWhat Is an Excel Grade Calculator?
An Excel grade calculator is a simple tool that automatically converts student marks into grades such as A+, A, B, C, D, or F. Instead of checking every student score manually, you can use Excel formulas or VBA code to calculate results instantly.
This tutorial is useful for teachers, students, school staff, coaching centers, tuition centers, and anyone who wants to create an automatic marksheet in Excel.
Student Grade Scale Example
Before writing the VBA code, first decide your grading system. Here is a simple and common grading scale:
| Marks Range | Grade | Result Meaning |
|---|---|---|
| 90 – 100 | A+ | Excellent |
| 80 – 89 | A | Very Good |
| 70 – 79 | B | Good |
| 60 – 69 | C | Satisfactory |
| 50 – 59 | D | Pass |
| Below 50 | F | Fail |
Calculate Grade Using Excel Formula
If you do not want to use VBA, you can calculate grades with an Excel formula. Suppose student marks are in cell B2. Use this formula in cell C2:
=IF(B2>=90,"A+",IF(B2>=80,"A",IF(B2>=70,"B",IF(B2>=60,"C",IF(B2>=50,"D","F")))))
After entering the formula, drag it down to apply it to all students.
Formula Explanation
This formula checks the student’s marks step by step. If marks are 90 or above, it returns A+. If not, it checks for A, then B, then C, then D. If marks are below 50, it returns F.
Full Corrected VBA Code to Calculate Grade
Now here is the full corrected VBA function. This code is clean, beginner-friendly, and includes a final condition for fail grade.
Function CalculateGrade(Marks As Double) As String
If Marks >= 90 And Marks <= 100 Then
CalculateGrade = "A+"
ElseIf Marks >= 80 And Marks < 90 Then
CalculateGrade = "A"
ElseIf Marks >= 70 And Marks < 80 Then
CalculateGrade = "B"
ElseIf Marks >= 60 And Marks < 70 Then
CalculateGrade = "C"
ElseIf Marks >= 50 And Marks < 60 Then
CalculateGrade = "D"
ElseIf Marks >= 0 And Marks < 50 Then
CalculateGrade = "F"
Else
CalculateGrade = "Invalid Marks"
End If
End Function
How to Use This VBA Function in Excel
After adding the VBA code, you can use it like a normal Excel formula.
| Student Name | Marks | Grade Formula |
|---|---|---|
| Ali | 92 | =CalculateGrade(B2) |
| Ahmed | 76 | =CalculateGrade(B3) |
| Sara | 45 | =CalculateGrade(B4) |
Step-by-Step Guide: Add VBA Code in Excel
Step 1
Open your Excel file where you want to calculate student grades.
Step 2
Press ALT + F11 to open the VBA editor.
Step 3
Click Insert and then select Module.
Step 4
Paste the VBA code inside the module window.
Step 5
Close the VBA editor and return to Excel.
Step 6
Use =CalculateGrade(B2) in your grade column.
Advanced VBA Code for Grade + Result
If you want to show both grade and pass/fail result, use this improved VBA function:
Function GradeResult(Marks As Double) As String
If Marks >= 90 And Marks <= 100 Then
GradeResult = "A+ - Excellent"
ElseIf Marks >= 80 And Marks < 90 Then
GradeResult = "A - Very Good"
ElseIf Marks >= 70 And Marks < 80 Then
GradeResult = "B - Good"
ElseIf Marks >= 60 And Marks < 70 Then
GradeResult = "C - Satisfactory"
ElseIf Marks >= 50 And Marks < 60 Then
GradeResult = "D - Pass"
ElseIf Marks >= 0 And Marks < 50 Then
GradeResult = "F - Fail"
Else
GradeResult = "Invalid Marks"
End If
End Function
Use it in Excel like this:
=GradeResult(B2)
Automatic Grade Calculator with Button
You can also create a macro that fills grades automatically in a whole column. Suppose marks are in column B and grades should appear in column C.
Sub AutoCalculateGrades()
Dim lastRow As Long
Dim i As Long
Dim marks As Double
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To lastRow
marks = Cells(i, "B").Value
If marks >= 90 And marks <= 100 Then
Cells(i, "C").Value = "A+"
ElseIf marks >= 80 And marks < 90 Then
Cells(i, "C").Value = "A"
ElseIf marks >= 70 And marks < 80 Then
Cells(i, "C").Value = "B"
ElseIf marks >= 60 And marks < 70 Then
Cells(i, "C").Value = "C"
ElseIf marks >= 50 And marks < 60 Then
Cells(i, "C").Value = "D"
ElseIf marks >= 0 And marks < 50 Then
Cells(i, "C").Value = "F"
Else
Cells(i, "C").Value = "Invalid Marks"
End If
Next i
MsgBox "Grades calculated successfully!", vbInformation
End Sub
Common VBA Errors and Fixes
| Error | Reason | Fix |
|---|---|---|
| Function not working | Code pasted in wrong place | Paste code inside a Module, not Sheet code. |
| #NAME? error | Excel cannot find the function | Check spelling: =CalculateGrade(B2) |
| Macro disabled | Excel security blocked macros | Enable macros from Excel security warning. |
| Code disappears | File saved as .xlsx | Save as .xlsm macro-enabled workbook. |
Why Use VBA for Grade Calculation?
Excel formulas are good for simple grade calculation, but VBA is better when you want automation, buttons, custom functions, reusable code, and professional marksheet systems.
Fast Calculation
VBA can calculate grades for hundreds of students quickly.
Reusable Function
Once created, you can use the function again and again.
Professional Result Sheets
Useful for schools, colleges, academies, and tuition centers.
Less Manual Work
Teachers can save time and avoid manual grading mistakes.
Suggested Internal Links
Add these links to improve SEO and keep visitors inside your website:
Home Online Exam Page Shop Bill Calculator ICT in Education Excel TutorialFrequently Asked Questions
VBA stands for Visual Basic for Applications. It is a programming language used to automate tasks in Microsoft Excel.
Yes. You can use Excel formulas such as IF, IFS, VLOOKUP, or LOOKUP to calculate grades.
This usually happens when the function name is misspelled or the code is not pasted inside a VBA Module.
You should save your Excel workbook as .xlsm, which means Excel Macro-Enabled Workbook.
This code calculates letter grades. You can expand it to calculate GPA by assigning grade points to each grade.
Final Words
Calculating grades using VBA in Excel is a powerful way to create automatic student result sheets. With the corrected VBA code given above, you can convert marks into grades, display pass or fail results, and automate a full marksheet system.
This method is especially useful for teachers, schools, tuition centers, and beginners who want to learn practical Excel automation. Start with the simple function first, then try the advanced macro button method for full automation.
In my first year of university, I had no idea how much each assignment affected my final grade. I stumbled upon calculadoradenotas.cl, and it completely changed the game. This grade calculation tool for students helped me break down my results by weight, and I’ve been using it every semester since.
ReplyDeletePara planificar mi recuperación académica, calculadoradenotas.cl me ayudó a identificar cuánto necesitaba en cada ramo y a enfocar mis esfuerzos.
ReplyDelete