Working on an automatic macro that needs to print out a value if the input data matches certain criteria. The problem I am running into is it gets stuck in a infinite loop and wont go to the next line. I am new to doing loops so any advise or help is welcome. If I try to exit the for it tells me it can't identify the if statement for the next else if.
Update: I have cleaned up the code per suggestions. I added in the .end(x1down) but i get an application-defined or object-defined error and when i use .end(x1down).row I get for each may only iterate over a collection object or an array
I cannot post images yet so i uploaded them to imgur here is the link this shows example of input data and chart data is pulled from https://i.stack.imgur.com/pJxUB.jpg
Sub MonthCalc()
    Dim seat As Range
    Dim cfdp As Integer
    Dim si As Range
    Dim eqp As Range
    Dim leg As Range
    Dim result As String
    For Each seat In Range("e2").End(x1down).Row
        If seat.Value = 2 Then
            For Each si In Range("c2").End(x1down)
                If si.Value >= 0 And si.Value <= 359 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b5").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c5").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d5").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e5").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f5").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g5").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h5").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 400 And si.Value <= 459 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b6").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c6").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d6").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e6").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f6").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g6").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h6").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 500 And si.Value <= 559 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b7").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c7").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d7").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e7").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f7").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g7").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h7").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 600 And si.Value <= 659 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b8").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c8").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d8").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e8").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f8").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g8").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h8").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 700 And si.Value <= 1159 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b9").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c9").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d9").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e9").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f9").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g9").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h9").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 1200 And si.Value <= 1259 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b10").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c10").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d10").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e10").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f10").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g10").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h10").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 1300 And si.Value <= 1659 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b11").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c11").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d11").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e11").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f11").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g11").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h11").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 1700 And si.Value <= 2159 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b12").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c12").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d12").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e12").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f12").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g12").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h12").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 2200 And si.Value <= 2259 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = " 1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b13").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c13").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d13").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e13").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f13").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g13").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h13").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                ElseIf si.Value >= 2300 And si.Value <= 2359 Then
                    For Each leg In Range("f2").End(x1down)
                        If leg.Value = "1" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b14").Value
                        ElseIf leg.Value = "2" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c14").Value
                        ElseIf leg.Value = "3" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d14").Value
                        ElseIf leg.Value = "4" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e14").Value
                        ElseIf leg.Value = "5" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("f14").Value
                        ElseIf leg.Value = "6" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("g14").Value
                        ElseIf leg.Value = "7" Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("h14").Value
                        End If
                        Range("g:g") = cfdp
                    Next leg
                End If
            Next si
        ElseIf seat.Value = 3 Then
            For Each eqp In Range("b:b")
                If eqp.Value = 330 Or eqp.Value = 767 Then
                    For Each si In Range("c2").End(x1down)
                        If si.Value >= 0 And si.Value <= 559 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d18").Value
                        ElseIf si.Value >= 600 And si.Value <= 659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d19").Value
                        ElseIf si.Value >= 700 And si.Value <= 1259 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d20").Value
                        ElseIf si.Value >= 1300 And si.Value <= 1659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d21").Value
                        ElseIf si.Value >= 1700 And si.Value <= 2359 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("d22").Value
                        End If
                        Range("g:g") = cfdp
                    Next si
                ElseIf eqp.Value = 777 Or eqp.Value = 787 Then
                    For Each si In Range("c2").End(x1down)
                        If si.Value >= 0 And si.Value <= 559 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b18").Value
                        ElseIf si.Value >= 600 And si.Value <= 659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b19").Value
                        ElseIf si.Value >= 700 And si.Value <= 1259 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b20").Value
                        ElseIf si.Value >= 1300 And si.Value <= 1659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b21").Value
                        ElseIf si.Value >= 1700 And si.Value <= 2359 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("b22").Value
                        End If
                        Range("g:g") = cfdp
                    Next si
                End If
            Next eqp
        ElseIf seat.Value = 4 Then
            For Each eqp In Range("b:b")
                If eqp.Value = 330 Or eqp.Value = 767 Then
                    For Each si In Range("c2").End(x1down)
                        If si.Value >= 0 And si.Value <= 559 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e18").Value
                        ElseIf si.Value >= 600 And si.Value <= 659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e19").Value
                        ElseIf si.Value >= 700 And si.Value <= 1259 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e20").Value
                        ElseIf si.Value >= 1300 And si.Value <= 1659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e21").Value
                        ElseIf si.Value >= 1700 And si.Value <= 2359 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("e22").Value
                        End If
                    Next si
                ElseIf eqp.Value = 777 Or eqp.Value = 787 Then
                    For Each si In Range("c2").End(x1down)
                        If si.Value >= 0 And si.Value <= 559 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c18").Value
                        ElseIf si.Value >= 600 And si.Value <= 659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c19").Value
                        ElseIf si.Value >= 700 And si.Value <= 1259 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c20").Value
                        ElseIf si.Value >= 1300 And si.Value <= 1659 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c21").Value
                        ElseIf si.Value >= 1700 And si.Value <= 2359 Then
                            cfdp = ThisWorkbook.Sheets("FAR117Chart").Range("c22").Value
                        End If
                        Range("g:g") = cfdp
                    Next si
                End If
            Next eqp
        End If
    Next seat
End Sub
 
     
    