我的代码出现问题,出现错误,我不明白为什么。错误是:
“编译错误:下一个没有For”
我不明白为什么会这样。我是编码的新手,所以任何帮助和评论都非常受欢迎
这是代码,Next指向没有For的那个代码提供了注释。
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
提前谢谢大家,
最诚挚的问候,
阿图尔。
答案 0 :(得分:7)
每个带有正文的 For 语句必须具有匹配的下一步,并且每个带有正文的 If-Then 语句必须具有匹配的< strong>结束如果。
示例:
For i = 1 To 10 '<---- This is the header
Hello(i) = "Blah" '<---- This is the body
Next i '<---- This is the closing statement
您的 For i 循环中包含 If 语句的正文部分,而其中一部分位于外部。它必须是ALL inside或ALL outside。仔细考虑逻辑,看看你想做什么。
答案 1 :(得分:3)
你有重叠的循环 - 也许
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