【发布时间】:2022-06-10 21:03:04
【问题描述】:
我在 Excel 的 A 列中有一个大约 2000 个值的列表,然后在接下来的两列中有一个值范围的开始和结束的列表。范围值与第一列中的值不对应。我想检查 A 列中的每个值,该值是否在 B 列和 C 列中列出的任何范围内。
例如,在下图中,查看 A2 是否属于 B2-C2、B3-C3 或 B4-C4。然后对于 A3 和 A4 也是如此。对于其中的每一个,我希望在 D 列中输入真/假。真/假值将对应于 A 列中的值。
我一直在尝试在 VBA 中执行此操作,但我对让它搜索范围并不完全有信心。当前代码如下。
Sub CheckRg()
Dim wk As Worksheet, frow As Long, i As Long
Set wk = Sheet1
frow = wk.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To frow
If wk.Range("A" & i).Value >= wk.Range("B:B").Value And wk.Range("A" & i).Value <= wk.Range("C:C").Value Then
wk.Range("D" & i).Value = "TRUE"
Else
wk.Range("D" & i).Value = "FALSE"
End If
Next i
End Sub
【问题讨论】:
-
我现在已经更新了代码 - 如果有人能告诉我哪里出错了,我将不胜感激! Sub CheckRg() Dim wk As Worksheet, frow As Long, i As Long Set wk = Sheet1 frow = wk.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To frow For j = 2 皱眉 If wk.Range("A" & i).Value >= wk.Range("B" & j).Value And wk.Range("A" & i).Value
-
wk.Range("B:B").Value不会按您的预期工作。无论如何:为什么是 VBA?一个简单的公式就可以解决问题。