2015-10-20 13 views
1

Я борюсь с частью VBA, которую я написал, целью которой было бы изменить значение ячейки в столбце B, если столбец G содержит определенные биты текст. Вот что я написал до сих пор:VBA: изменение значения ячейки на основе приблизительных значений других ячеек

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 

Хотя вышеупомянутые работы, я изо всех сил, что я хотел бы добавить больше «значения, как» чем просто «Орел». Я пробовал следующее без особого успеха:

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 

Как добавить еще «Ценности»?

Спасибо!

ответ

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 

' ... 
+0

Это абсолютно правильно (также у меня не было инструкции «Далее»). Я исправил это. Спасибо! – Aybabtus

Смежные вопросы