Spelling bee test writer Is there any way I can cut down on code? I'm new to this.

Sub addtest()


    Dim decision As Char
    Dim fullline As String = " "

    Dim word(9), def(9), minorerror1(49), minorerror2(49), minorerror3(49), minorerror4(49), minorerror5(49) As String

    Console.Clear()
    Console.WriteLine("Please select the year of students you wish to save the test for: ")
    Console.WriteLine()
    Console.WriteLine("3 - Year 3")
    Console.WriteLine("4 - Year 4")
    Console.WriteLine("5 - Year 5")
    Console.WriteLine("6 - Year 6")


    Console.WriteLine()


    Dim testyear As Integer = Console.ReadLine()

    Select Case testyear

        Case 1
        Case 2
        Case 3
        Case 4

    End Select

    Console.WriteLine("Please enter 10 of your selected words, defenitions and selected amount minor errors to be featured in the following test")

    FileOpen(5, "F:\Computing\Spelling Bee\testtests.csv", OpenMode.Append)

    Console.Clear()

    Do

        counter = counter + 1
        Console.Write("Word: ")
        word(counter) = Console.ReadLine
        Console.Write("Defenition: ")
        def(counter) = Console.ReadLine

        Console.WriteLine("Type in a max of 5 minor errors")


        Console.Write("Minor error 1: ")
        minorerror1(counter) = Console.ReadLine
        Console.Write("Minor error 2: ")
        minorerror2(counter) = Console.ReadLine
        Console.Write("Minor error 3: ")
        minorerror3(counter) = Console.ReadLine
        Console.Write("Minor error 4: ")
        minorerror4(counter) = Console.ReadLine
        Console.Write("Minor error 5: ")
        minorerror5(counter) = Console.ReadLine


    Loop Until counter = 9
    Console.Clear()




    Console.WriteLine("Are you sure you want to save this test? (y/n) ")
    decision = Console.ReadLine
    If decision = "y" Or decision = "Y" Then
        For counter As Integer = 0 To 9
            fullline = testyear &amp; "," &amp; word(counter) &amp; "," &amp; def(counter) &amp; "," &amp; minorerror1(counter) &amp; "," &amp; minorerror2(counter) &amp; "," &amp; minorerror3(counter) &amp; "," &amp; minorerror4(counter) &amp; "," &amp; minorerror5(counter)
            PrintLine(5, fullline)
            Console.WriteLine("Word: " &amp; (word(counter.ToString)) &amp; " Defenition: " &amp; (def(counter.ToString)) &amp; " Minor error 1: " &amp; (minorerror1(counter.ToString)) &amp; " Minor error 2: " &amp; (minorerror2(counter.ToString)) &amp; " Minor error 3: " &amp; (minorerror3(counter.ToString)) &amp; " Minor error 4: " &amp; (minorerror4(counter.ToString)) &amp; " Minor error 5: " &amp; (minorerror5(counter.ToString)))
        Next
        FileClose(5)
        Console.Clear()
        staffmenu()
    ElseIf decision = "n" Or decision = "N" Then
        addtest()

    End If

End Sub
You should read up on arrays :

    Console.Write("Minor error 1: ")
    minorerror1(counter) = Console.ReadLine
    Console.Write("Minor error 2: ")
    minorerror2(counter) = Console.ReadLine
    Console.Write("Minor error 3: ")
    minorerror3(counter) = Console.ReadLine
    Console.Write("Minor error 4: ")
    minorerror4(counter) = Console.ReadLine
    Console.Write("Minor error 5: ")
    minorerror5(counter) = Console.ReadLine


This should be a loop which writes to an array of strings.

Proposed reading : MSDN link on arrays