Як порівнювати рядки у vba: із прикладами
Для порівняння рядків у VBA можна використовувати такі методи:
Спосіб 1: Порівняння рядків з урахуванням регістру
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
Цей макрос виконуватиме чутливе до регістру порівняння рядків між рядками у відповідних клітинках у діапазонах A2:A10 і B2:B10 і повертатиме TRUE або FALSE у діапазоні C2:C10 , щоб вказати, чи є рядки рівними чи ні.
Спосіб 2: порівняння рядків без урахування регістру
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
Цей макрос виконуватиме незалежне від регістру порівняння рядків у відповідних клітинках у діапазонах A2:A10 і B2:B10 .
У наведених нижче прикладах показано, як використовувати кожен метод на практиці з такими списками рядків у Excel:
Приклад 1: Порівняння рядків з урахуванням регістру у VBA
Ми можемо створити наступний макрос для порівняння рядків з урахуванням регістру між кожним відповідним рядком у стовпцях A і 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
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець C повертає TRUE , якщо рядки рівні та мають однаковий регістр.
В іншому випадку стовпець C повертає FALSE .
Приклад 2: Порівняння рядків без урахування регістру у VBA
Ми можемо створити наступний макрос для порівняння рядків без урахування регістру між кожним відповідним рядком у стовпцях A і 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
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець C повертає TRUE , якщо рядки рівні, незалежно від регістру.
Стовпець C повертає FALSE, лише якщо рядки не рівні.
Примітка . Ви можете знайти повну документацію функції StrComp у VBA тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як замінити символи в рядку
VBA: як видалити спеціальні символи з рядка
VBA: Як перетворити рядок на int