Compileerfout: Volgende zonder For || VBA

Ik heb een probleem met mijn code, er verschijnt een fout en ik begrijp niet waarom. De fout is:
“Compileerfout: Volgende zonder For”
Ik begrijp niet waarom het zo is. Ik ben nieuw in coderen, dus alle hulp en opmerkingen zijn meer dan welkom.
Dit is de code, de volgende die wordt aangeduid als degene zonder voor, krijgt een opmerking.

Sub CGT_Cost()
startrow = Worksheets("GUTS").Cells(10, 1) 'Here I put 1
endrow = Worksheets("GUTS").Cells(11, 1)   'Here I put 1000
For x = endrow To startrow Step -1
If Cells(x, "Q").Value = "Sale" Then
    If Cells(x, "D").Value = "1" Then
    For i = 1 To 1000
        If Cells(x - i, "R").Value <> "1" Then
    Next i
        Else
        Range("G" & x).FormulaR1C1 = "=R[-" & i & "]C/R[-" & i & "]C[-1]*RC[-1]"
        End If
    End If
    End If
Next x  
End Sub  

Bij voorbaat dank,
met vriendelijke groeten,
Arthur.


Antwoord 1, autoriteit 100%

Elke For-instructie met een hoofdtekst moet een overeenkomende Volgendehebben, en elke Als-Dan-instructie met een hoofdtekst moet een overeenkomende Eindig als.

Voorbeeld:

For i = 1 To 10 '<---- This is the header
    Hello(i) = "Blah"  '<---- This is the body
Next i  '<---- This is the closing statement

Je hebt een deel van de hoofdtekst van je If-statement in je For i-lus en een deel erbuiten. Het moet ofwel ALLES binnen of ALLES buiten zijn. Denk na over de logica en kijk wat je wilt doen.


Antwoord 2, autoriteit 38%

je hebt overlappende lussen-misschien

Sub CGT_Cost()
   startrow = Worksheets("GUTS").Cells(10, 1)   'Here I put 1
   endrow = Worksheets("GUTS").Cells(11, 1)   'Here I put 1000
   For x = endrow To startrow Step -1
      If Cells(x, "Q").Value = "Sale" Then
         If Cells(x, "D").Value = "1" Then
            For i = 1 To 1000
               If Cells(x - i, "R").Value <> "1" Then
                  '
               Else
                  Range("G" & x).FormulaR1C1 = "=R[-" & i & "]C/R[-" & i & "]C[-1]*RC[-1]"
               End If
            Next i
         End If
      End If
   Next x
End Sub

Other episodes