Проверьте, содержит ли ячейка слово

#excel #vba

Вопрос:

Если какая — либо ячейка в столбце A содержит слово «Обучение», то ничего не делайте, если не добавляйте слово «Обучение» — перед текстом, уже находящимся в ячейке

Я работаю над макросом для просмотра столбца A на одном листе и не могу понять, как проверить, содержит ли ячейка слово в операторе if или что-то в этом роде. Столбец A содержит формулу для создания уникальных идентификаторов. Текущая настройка, которая у меня есть, добавляет слово, но если оно будет запущено более одного раза, оно будет дублироваться в ячейках.

Код, над которым я сейчас работаю:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then 'This is the column that causes the ID to be created 'This uses the target offset so it assumes in two spots below that the column to update is "A" and 'that the column is one position to the left of the target column above  If Target.Offset(0, -1).Value = "" Then  Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Columns("A"))   1  End If End If  End Sub  Function Max_Each_Column(Data_Range As Range) As Integer  Dim TempArray() As Double, i As Long  If Data_Range Is Nothing Then Exit Function  With Data_Range  ReDim TempArray(1 To .Columns.Count)  For i = 1 To .Columns.Count  TempArray(i) = Application.Max(.Columns(i))  Next  End With  Max_Each_Column = TempArray End Function  Sub AppendToExistingOnLeft()  For Each cell In Range("A1:A1000000") If cell.Value lt;gt; "" Then If Not cell.Value Like "Training*" Then cell.Value = "Training-" amp; cell.Value End If Next End Sub   

Комментарии:

1. If Not cell.Value Like "Training*" Then cell.Value = "Training-" amp; cell.Value 😀

2. @2acb_John_Suren Не публикуйте код в комментарии, добавьте то, что предложил Мацей Лос, к вашему исходному вопросу и укажите его в качестве решения