VBA 对于没有下一个错误的简单脚本
VBA For without next error with simple script
下面是我写的简单脚本。我不知道为什么它会给我错误:因为没有下一个。我已经搜索过了,我能找到的唯一解释可能是我的电脑 运行 对于这个脚本来说太慢了,尽管我知道情况并非如此。请帮忙
For y = 2 To tbl.ListRows.Count
If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then
Next
Else
months = months + 1
Next
End If
Exit For
您的方法与使用 for 循环的方式不同。您总是以 For ... To
开始并在循环的最后以 Next
结束。
For y = 2 To tbl.ListRows.Count
If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then
'do nothing here
Else
months = months + 1
End If
Next
这样应该可以。也许您希望 Next
语句开始循环中的下一次迭代。但是 if-case 确保不会执行任何其他操作。
下面是我写的简单脚本。我不知道为什么它会给我错误:因为没有下一个。我已经搜索过了,我能找到的唯一解释可能是我的电脑 运行 对于这个脚本来说太慢了,尽管我知道情况并非如此。请帮忙
For y = 2 To tbl.ListRows.Count
If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then
Next
Else
months = months + 1
Next
End If
Exit For
您的方法与使用 for 循环的方式不同。您总是以 For ... To
开始并在循环的最后以 Next
结束。
For y = 2 To tbl.ListRows.Count
If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then
'do nothing here
Else
months = months + 1
End If
Next
这样应该可以。也许您希望 Next
语句开始循环中的下一次迭代。但是 if-case 确保不会执行任何其他操作。