vba - 具有多个范围的循环
问题描述
我试图编写一个代码来确定某些单元格是否为空,然后返回一个集合字符串。
详细介绍;我希望代码能够查看单元格 B2,确定它是否为空,然后转到 C2 并确定它是否为非空。如果在单元格 B2 中两者都是正确的,那么它将输入“正确”并在该范围内继续前进。但是,我的代码似乎不起作用,因为它只是在循环范围内的每个单元格中输入“正确”。
我在下面发布了我的代码;任何帮助将非常感激。
Sub Fill_Rows()
Dim X As Range
Let Y = Range("C2")
For Each X In Range("B2:B5000")
If X = "" And Y <> "" Then
X = "Correct"
End If
Y = Y + 1
Next X
End Sub
解决方案
如果您打算检查每一行,例如(B2 和 C2)然后(B3 和 C3),那么您可以这样做。
Sub Fill_Rows()
Dim iRow As Long
For iRow = 2 To 5000
If Cells(iRow, "B").Value = vbNullString And Cells(iRow, "C").Value <> vbNullString Then
Cells(iRow, "B").Value = "Correct"
End If
Next iRow
End Sub
推荐阅读
- office-js - 在加载项命令中使用 imageMSO 图标
- objective-c - 如何通过 NSTask/Process 执行 `aerender` 命令行工具?
- java - 比较和排序字符串 Java
- dart - 多次将表单数据添加到列表中
- python-3.x - 将 JPG、PNG 等格式转换为 PGM 并制作数组:Python
- apache-kafka - 如何设置消费者的最大重试次数
- c++ - 如何正确实现询问用户是否要重新执行代码的循环?
- django - 在 Django All Auth 中使用多个登录字段、电子邮件或电话号码
- flutter - 使用热重载时简单的字符串标题不更新
- mapstruct - Mapstruct 构造函数注入(弹簧)