Results 1 to 15 of 15

Thread: Procedure Too Large - Compile Error

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Angry Procedure Too Large - Compile Error

    Seeking help in how to create a module and be able to call this to get rid of the Compile Error in Excel VBA. I've not done a lot of VBA for Excel, mostly on a novice base in Access.

    I'm trying to have students names input by Last Name/First Name in cells starting at B9/C9 (student 1) on down to B43/C43 (Student 35). IF a name is entered into these cells, it will assign that name to a hidden cell on another sheet.
    Also, it will rename tabs related to the student. Each student has two grading tabs. To avoid duplicate sheet names, I designated each combination of student sheets as S11/S11C (Student 1), S22/S22C (Student 2) and so on.....

    If they delete either the first name or last name, then the tabs revert back the default names as I previously mentioned.

    A "Y" will also appear in Column D and the row for the student they are entering

    Below is the coding I have, which worked great for a few students, but now that I have my 35 students setup, it no longer works!

    If anyone can help me, I would SOOOO appreciate it. I have pasted just the first two students so you can see how the references change to cells, etc.

    Private Sub Worksheet_Change(ByVal Target As Range)
    
    'Student 1 Auto Assign sheet name and student name on report card - check list - Grading sheets
    If Not Intersect(Target, Range("B9")) Is Nothing Then
        If Range("B9").Value = "" Then
            Range("B9").Value = 1
            Range("D9") = "N"
            Worksheets(6).Name = Worksheets(1).Range("C9") & Worksheets(1).Range("B9")  'Rename Student Report Card worksheet to Default Name
            Worksheets(7).Name = Worksheets(1).Range("C9") & Worksheets(1).Range("B9") & "C"    'Rename Student Checklist worksheet to default name
            Range("A70").Value = ""   'Remove Report Card Name & Checklist Name
            Worksheets(2).Range("A70") = ""      'Remove Vocab Name
            If Range("C9").Value = "S1" Then
                Range("D9") = "N"
                Worksheets(6).Name = Worksheets(1).Range("C9") & "1"  'Rename Student Report Card worksheet to Student name
                Worksheets(7).Name = Worksheets(1).Range("C9") & "1C"   'Rename Student Checklist worksheet to Student name
                Range("A70").Value = ""   'Remove Report Card Name & Checklist Name
                Worksheets(2).Range("A70") = ""      'Remove Vocab Name
            Else
                Range("D9") = "Y"
                Worksheets(6).Name = Worksheets(1).Range("B9") & " " & Worksheets(1).Range("C9")    'Rename Student Report Card worksheet to Student name
                Worksheets(7).Name = Worksheets(1).Range("B9") & " " & Worksheets(1).Range("C9") & " Check" 'Rename Student Checklist worksheet to Student name
                Range("A70").Value = Range("B9").Value & ", " & Range("C9").Value    'Assign Report Card Name & Checklist Name
                Worksheets(2).Range("A70") = Range("B9").Value & ", " & Range("C9").Value   'Assign Vocab Name
            End If
        End If
    End If
      
    If Not Intersect(Target, Range("C9")) Is Nothing Then
        If Range("C9").Value = "" Then
            Range("C9").Value = "S1"
            Range("D9") = "N"
            Worksheets(6).Name = Worksheets(1).Range("C9") & "1"  'Rename Student Report Card worksheet to Default Name
            Worksheets(7).Name = Worksheets(1).Range("C9") & "1C" 'Rename Student Checklist worksheet to default name
            Range("A70").Value = ""   'Remove Report Card Name & Checklist Name
            Worksheets(2).Range("A70") = ""      'Remove Vocab Name
        Else
            If Range("B9").Value = "1" Then
                Range("D9") = "N"
                Worksheets(6).Name = "S1" & Worksheets(1).Range("B9")  'Rename Student Report Card worksheet to Default Name
                Worksheets(7).Name = "S1" & Worksheets(1).Range("B9") & "C"    'Rename Student Checklist worksheet to default name
                Range("A70").Value = ""   'Remove Report Card Name & Checklist Name
                Worksheets(2).Range("A70") = ""      'Remove Vocab Name
            Else
                Worksheets(6).Name = Worksheets(1).Range("B9") & " " & Worksheets(1).Range("C9")    'Rename Student Report Card worksheet to Student name
                Worksheets(7).Name = Worksheets(1).Range("B9") & " " & Worksheets(1).Range("C9") & " Check" 'Rename Student Checklist worksheet to Student name
                Range("D9") = "Y"
                Range("A70").Value = Range("B9").Value & ", " & Range("C9").Value    'Assign Report Card Name & Checklist Name
                Worksheets(2).Range("A70") = Range("B9").Value & ", " & Range("C9").Value   'Assign Vocab Name
            End If
        End If
    End If
        'Student 2 Auto Assign sheet name and student name on report card - check list - Grading sheets
    If Not Intersect(Target, Range("B10")) Is Nothing Then
        If Range("B10").Value = "" Then
            Range("B10").Value = 2
            Range("D10") = "N"
            Worksheets(8).Name = Worksheets(1).Range("C10") & Worksheets(1).Range("B10")  'Rename Student Report Card worksheet to Default Name
            Worksheets(9).Name = Worksheets(1).Range("C10") & Worksheets(1).Range("B10") & "C"    'Rename Student Checklist worksheet to default name
            Range("A71").Value = ""   'Remove Report Card Name & Checklist Name
            Worksheets(2).Range("A71") = ""      'Remove Vocab Name
            If Range("C10").Value = "S2" Then
                Range("D10") = "N"
                Worksheets(8).Name = Worksheets(1).Range("C10") & "2"  'Rename Student Report Card worksheet to Student name
                Worksheets(9).Name = Worksheets(1).Range("C10") & "2C"   'Rename Student Checklist worksheet to Student name
                Range("A71").Value = ""   'Remove Report Card Name & Checklist Name
                Worksheets(2).Range("A71") = ""      'Remvoe Vocab Name
            Else
                Range("D10") = "Y"
                Worksheets(8).Name = Worksheets(1).Range("B10") & " " & Worksheets(1).Range("C10")    'Rename Student Report Card worksheet to Student name
                Worksheets(9).Name = Worksheets(1).Range("B10") & " " & Worksheets(1).Range("C10") & " Check" 'Rename Student Checklist worksheet to Student name
                Range("A71").Value = Range("B10").Value & ", " & Range("C10").Value    'Assign Report Card Name & Checklist Name
                Worksheets(2).Range("A71") = Range("B10").Value & ", " & Range("C10").Value   'Assign Vocab Name
            End If
        End If
    End If
      
    If Not Intersect(Target, Range("C10")) Is Nothing Then
        If Range("C10").Value = "" Then
            Range("C10").Value = "S2"
            Range("D10") = "N"
            Worksheets(8).Name = Worksheets(1).Range("C10") & "2"  'Rename Student Report Card worksheet to Default Name
            Worksheets(9).Name = Worksheets(1).Range("C10") & "2C" 'Rename Student Checklist worksheet to default name
            Range("A71").Value = ""   'Remove Report Card Name & Checklist Name
            Worksheets(2).Range("A71") = ""      'Remove Vocab Name
        Else
            If Range("B10").Value = "2" Then
                Range("D10") = "N"
                Worksheets(8).Name = "S2" & Worksheets(1).Range("B10")  'Rename Student Report Card worksheet to Default Name
                Worksheets(9).Name = "S2" & Worksheets(1).Range("B10") & "C"    'Rename Student Checklist worksheet to default name
                Range("A71").Value = ""   'Remove Report Card Name & Checklist Name
                Worksheets(2).Range("A71") = ""      'Remove Vocab Name
            Else
                Worksheets(8).Name = Worksheets(1).Range("B10") & " " & Worksheets(1).Range("C10")    'Rename Student Report Card worksheet to Student name
                Worksheets(9).Name = Worksheets(1).Range("B10") & " " & Worksheets(1).Range("C10") & " Check" 'Rename Student Checklist worksheet to Student name
                Range("D10") = "Y"
                Range("A71").Value = Range("B10").Value & ", " & Range("C10").Value    'Assign Report Card Name & Checklist Name
                Worksheets(2).Range("A71") = Range("B10").Value & ", " & Range("C10").Value   'Assign Vocab Name
            End If
        End If
    End If
    
    End Sub
    Last edited by JustJerry; 08-20-2017 at 10:11 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •