Почему я получаю сообщение «Блокировать без конца, если»? - PullRequest
0 голосов
/ 04 февраля 2019

Я получаю сообщение об ошибке для своего кода и не понимаю, почему.Я знаю, что должен выйти из обоих утверждений if, но это показывает, что я делаю это неправильно?

Sub InformatikKandidatenMitInterview()

   Dim Candidate As Range
   Dim CandidateFirstName As String
   Dim CandidateID As String
   Dim CandidateLastName As String
   Dim valuetobefound As String
   Dim i As Integer

   For Each Candidate In Sheets("Applications").Range("A2:A4000")
        If Candidate = "Informatik" Then
            CandidateFirstName = Candidate.Offset(0, 3)
            CandidateLastName = Candidate.Offset(0, 2)
            CandidateATASID = Candidate.Offset(0, 1)

        For i = 1 To 4000
            If CandidateFirstName = Worksheets("informatik").Cells(i, 2).Value And CandidateLastName = Worksheets("informatik").Cells(i, 3).Value And CandidateATASID = Worksheets("informatik").Cells(i, 2).Value Then
                Exit For

            Else
                Call select_next_empty_cell_informatik
                ActiveCell.Value = CandidateID
                ActiveCell.Offset(0, 1).Value = CandidateFirstName
                ActiveCell.Offset(0, 2).Value = CandidateLastName
                Exit For
    End If

Next

End Sub

1 Ответ

0 голосов
/ 04 февраля 2019

Вам не хватает End If и Next i

Sub InformatikKandidatenMitInterview()

    Dim Candidate As Range
    Dim CandidateFirstName As String
    Dim CandidateID As String
    Dim CandidateLastName As String
    Dim valuetobefound As String
    Dim i As Integer

    For Each Candidate In Sheets("Applications").Range("A2:A4000")
        If Candidate = "Informatik" Then
            CandidateFirstName = Candidate.Offset(0, 3)
            CandidateLastName = Candidate.Offset(0, 2)
            CandidateATASID = Candidate.Offset(0, 1)

            For i = 1 To 4000
                If CandidateFirstName = Worksheets("informatik").Cells(i, 2).Value And CandidateLastName = Worksheets("informatik").Cells(i, 3).Value And CandidateATASID = Worksheets("informatik").Cells(i, 2).Value Then
                    Exit For
                Else
                    Call select_next_empty_cell_informatik
                    ActiveCell.Value = CandidateID
                    ActiveCell.Offset(0, 1).Value = CandidateFirstName
                    ActiveCell.Offset(0, 2).Value = CandidateLastName
                    Exit For
                End If ' <-- Added
            Next i ' <-- Added
        End If

    Next Candidate

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...