Jak używać operatora like w vba (z przykładami)
Możesz użyć operatora Like w VBA, aby określić, czy ciąg zawiera określony wzorzec.
Na przykład możesz użyć następującej składni, aby sprawdzić, czy każdy ciąg w zakresie komórek A2:A10 zawiera podciąg „gorący” i wyświetlić wyniki w zakresie B2:B10 :
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać operatora Like w VBA
Załóżmy, że mamy w Excelu następującą listę produktów spożywczych:
Możemy utworzyć następujące makro, aby sprawdzić, czy każdy ciąg w kolumnie A zawiera podciąg „hot” i wyświetlić wyniki w kolumnie B:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B wskazuje, czy każda pasująca komórka w kolumnie A zawiera „gorący” podciąg.
Zwróć uwagę, że wokół podciągu użyliśmy gwiazdek ( * ), aby wskazać, że dowolny znak może wystąpić przed lub po „gorącym” ciągu znaków w komórce.
Jeśli zamiast tego chcemy sprawdzić, czy każdy ciąg zaczyna się od „hot”, możemy umieścić gwiazdkę tylko po podciągu:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B wskazuje , czy każda pasująca komórka w kolumnie A zaczyna się od „gorąca”.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania przy użyciu języka VBA:
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg
VBA: Jak liczyć komórki zawierające określony tekst