VBA:根据其他单元格的近似值更改单元格值

时间:2015-10-20 13:07:00

标签: excel vba excel-vba

我正在努力研究我写过的VBA,其目的是在列G包含某些文本位时更改B列中单元格的值。这是我到目前为止所写的内容:

Sub Test()
    Dim LastRow As Long
    Dim i As Long
    Sheets("Current Week").Select
    LastRow = Range("G" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
        If Range("G" & i).Value Like "*Eagle*" Then
            Range("B" & i).Value = "Bird"
        End If
    Next i
End Sub

尽管上述情况有效,但我还在努力想要添加更多"价值观,如"而不只是" Eagle"。我没有取得太大的成功,尝试了以下几点:

Sub Test()
    Dim LastRow As Long
    Dim i As Long
    Sheets("Current Week").Select
    LastRow = Range("G" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
        If Range("G" & i).Value Like "*Eagle*" 
        Or ("G" & i).Value Like "*Pelican*"
        Then
        Range("B" & i).Value = "Bird"
        End If
    Next i
End Sub

如何添加更多"值"?

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你的困惑源于VB(A)要求使用line continuation character_),如果你想为了可读性而打破一行。

' ...

If _
    Range("G" & i).Value Like "*Eagle*" Or _
    Range("G" & i).Value Like "*Pelican*" Or _
    Range("G" & i).Value Like "*Chicken*" Or _
    Range("G" & i).Value Like "*Sparrow*" _
Then
    Range("G" & i).Value = "Bird"
End If

' ...