Как сравнивать строки в 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