我正在努力研究我写过的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
如何添加更多"值"?
谢谢!
答案 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
' ...