loops - 由于“Next without For”而无法编译
问题描述
我有以下代码,但它抱怨(在最后一个For
循环中)我Next
没有For
,所以甚至无法编译,所以我可以调试!
我猜我有一些方向问题,但如果它不能开始编译,我什至无法调查!
For Each ck In Screen.ActiveForm
For Each oCol In OverlapCol
If oCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
Exit For
GoTo TrueCk
End If
Next oCol
For Each aCol In DistAutCol
If aCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
GoTo TrueCk
Exit For
End If
Next aCol
For Each gCol In DistGenCol
If gCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
Exit For
GoTo TrueCk
Next gCol
ck.Enabled = False
TrueCk:
Next ck
我不明白:这个 For 循环与其他循环有什么不同?为什么我会遇到这个问题?
解决方案
我建议在 Ifs 中使用缩进进行格式化,如下所示:
For Each ck In Screen.ActiveForm
For Each oCol In OverlapCol
If oCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
Exit For
GoTo TrueCk
End If
Next oCol
For Each aCol In DistAutCol
If aCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
GoTo TrueCk
Exit For
End If
Next aCol
For Each gCol In DistGenCol
If gCol = Right(ck.Name, Len(ck.Name) - 2) Then
ck.Enabled = True
Exit For
GoTo TrueCk
End If
Next gCol
ck.Enabled = False
TrueCk:
Next ck
在这种情况下,您会注意到,您忘记添加End If
last If
,不幸的是,编译器消息在这种情况下具有误导性。
推荐阅读
- swiftui - 在某些视图上隐藏底部标签栏
- mariadb - MariaDB 列存储删除不删除
- python - 如何使用嵌套对象和文件从 Reactjs 前端向 django rest 框架 API 发送发布请求
- regex - 将两个字符串中的文本放入基于找到的文本命名的单独新文件中
- python-3.x - 如何将父目录中的模块导入子目录模块
- php - 保存的图像有时是全黑的
- c++ - 为什么 std::atomic
::is_lock_free() 不像 constexpr 那样静态? - xml - 如何使用 xslt 将单行 xml 转换为不带空格的缩进
- jquery - 类型“null”不可分配给类型“元素”.ts(2345)
- ruby-on-rails - 如何修复:i18n 始终转换为默认语言环境