VBA中的语法错误 [英] Syntax Errors in VBA
本文介绍了VBA中的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不断收到错误(其他没有if或循环没有做),我真的不知道为什么......有人可以帮忙吗?!谢谢!
I keep getting errors (either else without if or loop without do) in this, and I really have no idea why... can anyone help?! Thanks!
Do Until (Range("I4").Value = 0)
For i = 2 To lLastrow
If Range("G" & i).Value = 0 Then
i = i + 1
ElseIf Range("G" & i).Value < 0 Then
Do Until (Range("G" & i).Value = 0)
For j = 0 To i
If Range("F" & i - j).Value < 0 Then
Range("F" & i - j).Value = Range("F" & i - j).Value + 1
Else: j = j + 1
End If
Application.Calculate
Loop
ElseIf Range("G" & i).Value > 0 Then
Do Until (Range("G" & i).Value = 0)
For k = 0 To i
If Range("F" & i - k).Value > 0 Then
Range("F" & i - k).Value = Range("F" & i - k).Value - 1
Else: k = k + 1
End If
Application.Calculate
Loop
End If
Application.Calculate
Loop
推荐答案
尝试用你拥有的代码替换下面的代码。您缺少每个 For
循环的 Next
。 执行
和循环
一起使用,类似地对于
和下一步
一起去(它们构成了循环的基础)。
Try replacing the code below with what you have. You were missing Next
for each of your For
loops. Do
and Loop
go together, similarly For
and Next
go together (they form the basis for the loop).
这是代码,我把它清理成了以便更容易理解。
Here's the code, I've cleaned this up as well to make it easier to follow.
Do Until (Range("I4").Value = 0)
For i = 2 To lLastrow
If Range("G" & i).Value = 0 Then
i = i + 1
ElseIf Range("G" & i).Value < 0 Then
Do Until (Range("G" & i).Value = 0)
For j = 0 To i
If Range("F" & i - j).Value < 0 Then
Range("F" & i - j).Value = Range("F" & i - j).Value + 1
Else
j = j + 1
End If
Application.Calculate
Next j
Loop
ElseIf Range("G" & i).Value > 0 Then
Do Until (Range("G" & i).Value = 0)
For k = 0 To i
If Range("F" & i - k).Value > 0 Then
Range("F" & i - k).Value = Range("F" & i - k).Value - 1
Else
k = k + 1
End If
Application.Calculate
Next k
Loop
End If
Next i
Application.Calculate
Loop
这篇关于VBA中的语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文