you don't need to pass the parameters at all, because the"Target" has all the information needed so I reckon it can come doen to something like this ( note not tested)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B9:C43")) Is Nothing Then
Call StudentAssign(Target) 'Student i
End If
End Sub
Private Function StudentAssign(ByRef Target As Range)
'Student Auto Assign sheet name and student name on report card - check list - Grading sheets
Dim intws1 As Integer
Dim intsw2 As Integer
Dim intBcell As Integer
Dim strCcell As String
Dim strAcell As String
If Not Intersect(Target, Range("B9:B43")) Is Nothing Then
i = Target.Row
intws1 = i - 3
intws2 = i - 2
intBcell = i - 8
strCcell = ”S” & i - 8
strAcell = “A” & i + 61
If Target.Value = "" Then
Target.Value = intBcell
Target.Offset(0, 2).Value = "N"
Worksheets(intws1).Name = Target.Offset(0, 1).Value & Target.Value 'Rename Student Report Card worksheet to Default Name
Worksheets(intws2).Name = Target.Offset(0, 1).Value & Target.Value & "C" 'Rename Student Checklist worksheet to default name
Range(strAcell).Value = "" 'Remove Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = "" 'Remove Vocab Name
If Target.Offset(0, 1).Value = strCcell Then
Target.Offset(0, 2) = "N"
Worksheets(intws1).Name = Target.Offset(0, 1).Value & intBcell 'Rename Student Report Card worksheet to Student name
Worksheets(intws2).Name = Target.Offset(0, 1).Value & strCcell 'Rename Student Checklist worksheet to Student name
Range(strAcell).Value = "" 'Remove Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = "" 'Remvoe Vocab Name
Else
Target.Offset(0, 2) = "Y"
Worksheets(intws1).Name = Target.Value & " " & Target.Offset(0, 1).Value 'Rename Student Report Card worksheet to Student name
Worksheets(intws2).Name = Target.Value & " " & Target.Offset(0, 1).Value & " Check" 'Rename Student Checklist worksheet to Student name
Range(strAcell).Value = Target.Value & ", " & Target.Offset(0, 1).Value 'Assign Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = Target.Value & ", " & Target.Offset(0, 1).Value 'Assign Vocab Name
End If
End If
Else
If Not Intersect(Target, Range("C9:C43")) Is Nothing Then
i = Target.Row
intws1 = i - 3
intws2 = i - 2
intBcell = i - 8
strCcell = ”S” & i - 8
strAcell = “A” & i + 61
If Target.Value = "" Then
Target.Value = strCcell
Target.Offset(0, 1).Value = "N"
Worksheets(intws1).Name = Target.Value & intBcell 'Rename Student Report Card worksheet to Default Name
Worksheets(intws2).Name = Target.Value & intBcell & "C" 'Rename Student Checklist worksheet to default name
Range(strAcell).Value = "" 'Remove Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = "" 'Remove Vocab Name
ElseIf Range(TargetCell).Value = intBcell Then
Target.Offset(0, 1).Value = "N"
Worksheets(intws1).Name = strCcell & Target.Offset(0, -1).Value 'Rename Student Report Card worksheet to Default Name
Worksheets(intws2).Name = strCcell & Target.Offset(0, -1).Value & "C" 'Rename Student Checklist worksheet to default name
Range(strAcell).Value = "" 'Remove Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = "" 'Remove Vocab Name
Else
Worksheets(intws1).Name = Target.Offset(0, -1).Value & " " & Target.Value 'Rename Student Report Card worksheet to Student name
Worksheets(intws2).Name = Target.Offset(0, -1).Value & " " & Target.Value & " Check" 'Rename Student Checklist worksheet to Student name
Target.Offset(0, 1).Value = "Y"
Range(strAcell).Value = Target.Offset(0, -1).Value & ", " & Target.Value 'Assign Report Card Name & Checklist Name
Worksheets(2).Range(strAcell) = Target.Offset(0, -1).Value & ", " & Target.Value 'Assign Vocab Name
End If
End If
End Function