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:
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:
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