Сравнение строк VBA

Сравнение строк Excel VBA

Для сравнения двух строк в VBA у нас есть встроенная функция, т.е.StrComp». Это мы можем прочитать как «Сравнение строк», эта функция доступна только в VBA и недоступна как функция рабочего листа. Он сравнивает любые две строки и возвращает результаты в виде «Ноль (0)» если обе строки совпадают, и если обе предоставленные строки не совпадают, мы получим «Один (1)» в результате.

В VBA или Excel мы сталкиваемся с множеством различных сценариев. Одним из таких сценариев является «сравнение двух строковых значений». На обычном рабочем листе мы можем сделать это несколькими способами, но как это сделать в VBA?

Сравнение строк VBA

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой
Например:
Источник: Сравнение строк VBA (wallstreetmojo.com)

Ниже приведен синтаксис функции «StrComp».

Синтаксис сравнения строк VBA

Во-первых, два аргумента довольно просты,

  • за Строка 1, нам нужно предоставить первое значение, которое мы сравниваем, и
  • за Строка 2, нам нужно предоставить второе значение, которое мы сравниваем.
  • [Compare] это необязательный аргумент функции StrComp. Это полезно, когда мы хотим сравнить сравнение с учетом регистра. Например, в этом аргументе «Excel» не равно «EXCEL», поскольку оба эти слова чувствительны к регистру.

Здесь мы можем указать три значения.

  • Ноль (0) для “Двоичное сравнение,т. е. «Excel» не равно «EXCEL». Для сравнения с учетом регистра мы можем поставить 0.
  • Один (1) для “Текстовое сравнение,т. е. «Excel» равно «EXCEL». Это сравнение без учета регистра.
  • Два (2) это только для сравнения базы данных.

Результаты функции «StrComp» не имеют значений по умолчанию TRUE или FALSE, а различаются. Ниже приведены различные результаты функции «StrComp».

  • Мы получим «0» в результате, если предоставленные строки совпадают.
  • Мы получим «1» если предоставленные строки не совпадают, а в случае числового совпадения мы получим 1, если строка 1 больше, чем строка 2.
  • Мы получим «-1» если номер строки 1 меньше номера строки 2.

Как выполнить сравнение строк в VBA?

Вы можете скачать этот шаблон Excel для сравнения строк VBA здесь — Шаблон Excel для сравнения строк VBA

Пример №1

Мы будем соответствовать»Бангалор«против строки»БАНГАЛОР».

Первый, объявить две переменные VBAОбъявить две переменные VBAОбъявление переменной необходимо в VBA, чтобы определить переменную для определенного типа данных, чтобы она могла хранить значения; любая переменная, не определенная в VBA, не может содержать значения.читать далее в качестве строки для хранения двух строковых значений.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String

End Sub
Пример сравнения строк VBA 1

Для этих двух переменных сохраните два строковых значения.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"

End Sub
Пример 1.1

Теперь объявите еще одну переменную для хранения результата «StrCompфункция.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String

End Sub
Пример сравнения строк VBA 1.2

Для этой переменной откройте функцию «StrComp».

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(

End Sub
Пример сравнения строк VBA 1.3

Для «String1» и «String2» мы уже присвоили значения через переменные, поэтому введите имена переменных соответственно.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2,

End Sub
Пример сравнения строк VBA 1.4

Последняя часть функции «Сравнить» для этого выбора «Вбтексткомпаре».

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbTextCompare)

End Sub
  Пример 1.5

Теперь покажите «Конечный результат» переменная в окно сообщения в VBAОкно сообщения в VBAФункция VBA MsgBox — это функция вывода, которая отображает обобщенное сообщение, предоставленное разработчиком. Этот оператор не имеет аргументов, и персонализированные сообщения в этой функции записываются в двойных кавычках, а для значений предоставляется ссылка на переменную.читать далее.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbTextCompare)
  MsgBox FinalResult

End Sub
Пример сравнения строк VBA 1.6

Хорошо, давайте запустим код и посмотрим на результат.

Вывод:

  Пример 1.7

Поскольку обе строки «Bangalore» и «BANGALORE» одинаковы, мы получили результат 0, т. е. совпадение. Оба значения чувствительны к регистру, так как мы предоставили аргумент как «Вбтексткомпаре» он игнорировал совпадение с учетом регистра и сопоставлял только значения, поэтому оба значения одинаковы, а результат равен 0, т. е. TRUE.

Код:

Sub String_Comparison_Example1()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbTextCompare)
  MsgBox FinalResult

End Sub
Пример сравнения строк VBA 1.8

Пример #2

Для того же кода мы изменим метод сравнения с «Вбтексткомпаре» к «vbBinaryCompare».

Код:

Sub String_Comparison_Example2()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = "Bangalore"
  Value2 = "BANGALORE"
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbBinaryCompare)
  MsgBox FinalResult

End Sub
  Пример 2

Теперь запустите код и посмотрите результат.

Вывод:

Пример сравнения строк VBA 2.1

Несмотря на то, что обе строки одинаковы, мы получили результат 1, т. е. Not Matching, потому что мы применили метод сравнения как «vbBinaryCompare», который сравнивает два значения с учетом регистра.

Пример №3

Теперь мы увидим, как сравнивать числовые значения. Для одного и того же кода мы будем назначать разные значения.

Код:

Sub String_Comparison_Example3()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = 500
  Value2 = 500
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbBinaryCompare)
  MsgBox FinalResult

End Sub
Пример сравнения строк VBA 3

Оба значения равны 500, и в результате мы получим 0, потому что оба значения совпадают.

Вывод:

Пример 3.1

Теперь я изменю число Value1 с 500 на 100.

Код:

Sub String_Comparison_Example3()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = 1000
  Value2 = 500
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbBinaryCompare)
  MsgBox FinalResult

End Sub
Пример сравнения строк VBA 3.2

Запустите код и посмотрите результат.

Вывод:

  Пример 3.3

Мы знаем, что Value1 и Value2 не совпадают, но результат равен -1 вместо 1, потому что для численного сравнения, когда значение String 1 больше, чем String 2, мы получим это -1.

Код:

Sub String_Comparison_Example3()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = 1000
  Value2 = 500
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbBinaryCompare)
  MsgBox FinalResult

End Sub
Пример сравнения строк VBA 3.4

Теперь я поменяю местами значения.

Код:

Sub String_Comparison_Example3()

  Dim Value1 As String
  Dim Value2 As String
  Value1 = 500
  Value2 = 1000
  Dim FinalResult As String
  FinalResult = StrComp(Value1, Value2, vbBinaryCompare)
  MsgBox FinalResult

End Sub
  Пример 3.5

Запустите код и посмотрите результат.

Вывод:

Пример сравнения строк VBA 3.6

В этом нет ничего особенного. Если не совпадают, мы получим только 1.

Что нужно помнить здесь

  • [Compare] Аргумент «StrComp» является необязательным, но в случае совпадения с учетом регистра мы можем использовать его, и этот параметр «vbBinaryCompare».
  • Результат числовых значений немного отличается в случае, если строка 1 больше, чем строка 2, и результат будет равен -1.
  • Результат равен 0, если совпадение совпадает, и 1, если не совпадает.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *