我需要帮助以下if if语句。我会尽力解释。
单元格E21和F21合并,值变化。我有一个从o1到o100彼此相同的数字列表,并且p q r s t u的值相同,表示值是常数。
我需要一个宏来检查单元格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
感谢所有帮助
答案 0 :(得分: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