vba - 循环内条件 (VBA)
问题描述
我为 Excel VBA 编写了这个简单的子程序。我故意使用冒号 (:) 来分隔语句。为什么它不起作用?
Sub ConditionInsideLoop()
cb = 0: cd = 1: For ca = 1 To 5: If cd = 1 Then cb = cb + 1: Next
End Sub
这个问题主要是理论上的。但这可能是实用的。例如,当我们使用即时窗口并且需要在简单循环中使用简单条件时。
解决方案
这是一个语法问题。您可以重新编写以删除混淆的 If 语句。
Public Sub ConditionInsideLoop()
Dim cb As Long, cd As Long, ca As Long
cb = 0: cd = 1: For ca = 1 To 5: cb = IIf(cd = 1, cb + 1, cb): Next
Debug.Print cb
End Sub
推荐阅读
- datetime - Dataweave 2 - 无法解析到 DateTime 的字符串
- javascript - 如何将我的 JavaScript Web 应用程序转换为 Android 应用程序?
- python - 将 3 层嵌套列表转换为 ndim numpy 数组时出错
- sql-server - 无法在 SQL 服务器报告中添加 SQL 查询
- python-3.x - 从具有相同名称 selenium 的 div 标签中提取数据
- for-loop - 带有 if else 语句的 For 循环 Google-apps-script
- css - 在使用 flexbox 进行响应性设计时面临问题
- prometheus - 无法从节点导出器指标中获取正确数量的打开文件描述符
- angular - Angular 8 设置基于下拉选择的输入验证
- svn - 寻求有关计划升级 TRAC-SubVersion Server 的建议