根据行条目评估一个范围并写入另一列

我想查看一个范围,并find某些值的标志,然后根据这些值填充另一列中的同一行。

Column 1 Column 2 Code1 Code10 

如果我在macros中指定Code1,我想填充第2列。

我有以下代码。 我得到一个运行时错误。 我怎样才能避免运行时错误。

 Sub Test() With Sheets("Sheet1") Set r = .Range("A:A").Find(what:="Old", LookIn:=xlValues) Dim rownum As Long rownum = r.Row Dim rownum2 As Long rownum2 = rownum - 1 With Sheets("Sheet1") Set r2 = .Range("C6:C" & rownum2) Dim cell As Variant For Each cell In r2 If Cells.Value = ("Code1" Or "Code2" Or "Code3" Or "Code4") Then .Select .Offset(0, 7).Value = "Special" End If Next cell End With End With End Sub 

我把它清理了一下:

 Sub Test() Dim r2 As Range Dim rownum2 As Long Dim cell As Range With Sheets("Sheet1") rownum2 = .Range("A:A").Find(what:="Old", LookIn:=xlValues).Row - 1 Set r2 = .Range("C6:C" & rownum2) End With For Each cell In r2 If cell.Value = "Code1" Or cell.Value = "Code2" Or cell.Value = "Code3" Or cell.Value = "Code4" Then cell.Offset(0, 7).Value = "Special" End If Next cell End Sub 

主要问题是If语句。 请参阅上面的使用Or语句的正确方法。