0

我需要以下 if then 语句的帮助。我会尽力解释。

单元格 E21 和 F21 合并,值变化。我有一个从 o1 到 o100 的数字列表,对于 pqrstu 来说,值是恒定的。

我需要一个宏来检查单元格 E21 中的值在哪一列中,并将数字(即宏中的)放在单元格 E23 中(也与 F23 合并)。

以下是仅检查单元格 o1 时有效的宏,但如果我将其更改为 o1:o100 则无效。宏是非常基本的,只是第一部分。请你能告诉我如何让宏搜索整个列表。

Sub RunSelect()

    If Range("E21").Value = Range("o1:o100").Value Then
        Range("E23").Value = "3"

    ElseIf Range("E21").Value = Range("p1:p100").Value Then
        Range("E23").Value = "4"

    Else: MsgBox ("Incorrect number entered")

    End If

End Sub

感谢所有的帮助

4

1 回答 1

1

我不完全确定你在寻找什么,但你需要编写一个 For Each...Next 循环来遍历每个单元格并检查它的值。Excel 不知道您要查看这些范围内的每个单元格,因此您需要告诉它使用循环。

尝试使用这个。

For Each c In Worksheets("Sheet1").Range("O1:O100").Cells
     If c.Value = Range("E21").Value Then Range("E23").Value = "3"
        Next

http://msdn.microsoft.com/en-us/library/office/aa221353(v=office.11​​).aspx

于 2013-07-12T19:10:21.557 回答