Private Subs won't work from any place on the form like Public Subs do. They are local to the event where they are defined. If there are no grades the average can't be calculated. Exit Sub is the way to return processing control back to the line after the one with the Subprogram's name in the script calling it. None of the statements following Exit Sub are executed by the processor.
Some earlier scripts use the End statement when they are done.
End stops the entire VB program. Exit Sub just returns program control from a subprogram to the calling program. Select Case of is one of VB's control structures to handle case alternative selection logic . Is statements in sequence until the first evaluates True, when program control is given to the first statement after the Case. If none of the cases are true control will fall to the first statement following the End Select statement.