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