【发布时间】:2019-08-22 21:58:24
【问题描述】:
如果我的变量之一变得大于给定值,则尝试提示 excel 移动到另一个嵌套循环。但是,在尝试编译时,我收到“End If without block If”错误。
我试图在“next m”之后放置一个“Endif”,但没有成功。我尝试了其他一些不使用“if”的解决方法;但是,在我尝试编写的代码中,if 语句似乎是不可避免的。
For i = 1 To 4000000
r = x + y
Worksheets("sheet1").Cells(Z, 1).Value = r
Z = Z + 1
x = r + y
Worksheets("sheet1").Cells(Z, 1).Value = x
Z = Z + 1
y = r + x
Worksheets("Sheet1").Cells(Z, 1).Value = y
Z = Z + 1
If Z > 499 Then For m = 1 To 501
e = 1
d = Worksheets("sheet1").Cells(e, 1).Value Mod 2
If d = 1 Then Worksheets("sheet1").Cells(e, 1).ClearContents
e = e + 1
If e > 500 Then Range(q, 1) = "=Sum(A1:A500)" And Z = 1 And q = q + 1
Next m
End If
Next i
【问题讨论】:
-
你不能做
If Z > 499 Then For m = 1 To 501。将For循环定义放在自己的行中。 -
我认为你应该用谷歌搜索
If...End If和For...Next语句在 VBA 中是如何工作的。这部分是错误的:If Z > 499 Then For m = 1 To 501等等 -
还有
x和y是从哪里来的?我认为您没有发布整个代码。
标签: excel vba loops if-statement