Jak porównać ciągi w vba: z przykładami


Do porównywania ciągów można użyć następujących metod w języku VBA:

Metoda 1: Porównywanie ciągów z uwzględnieniem wielkości liter

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

To makro wykona porównanie ciągów z uwzględnieniem wielkości liter między ciągami w pasujących komórkach w zakresach A2:A10 i B2:B10 i zwróci PRAWDA lub FAŁSZ w zakresie C2:C10 , aby wskazać, czy ciągi są równe, czy nie.

Metoda 2: Porównanie ciągów bez uwzględniania wielkości liter

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

To makro wykona porównanie ciągów bez uwzględniania wielkości liter między ciągami w pasujących komórkach w zakresach A2:A10 i B2:B10 .

Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującymi listami ciągów w programie Excel:

Przykład 1: Porównanie ciągów uwzględniających wielkość liter w VBA

Możemy utworzyć następujące makro, aby przeprowadzić porównanie ciągów z uwzględnieniem wielkości liter pomiędzy każdym pasującym ciągiem w kolumnach A i B:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

porównywanie ciągów z uwzględnieniem wielkości liter w VBA

Kolumna C zwraca wartość PRAWDA , jeśli ciągi są równe i mają tę samą wielkość liter.

W przeciwnym razie kolumna C zwraca FAŁSZ .

Przykład 2: Porównanie ciągów znaków bez uwzględniania wielkości liter w VBA

Możemy utworzyć następujące makro, aby przeprowadzić porównanie ciągów bez uwzględniania wielkości liter pomiędzy każdym pasującym ciągiem w kolumnach A i B:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Porównanie ciągów bez uwzględniania wielkości liter w VBA

Kolumna C zwraca wartość PRAWDA , jeśli ciągi znaków są równe, niezależnie od wielkości liter.

Kolumna C zwraca FAŁSZ tylko wtedy, gdy ciągi nie są równe.

Uwaga : Pełną dokumentację funkcji StrComp w VBA znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak zamienić znaki w ciągu znaków
VBA: Jak usunąć znaki specjalne z ciągu znaków
VBA: Jak przekonwertować ciąg na int

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *