Функция VBA StrComp

В нашей работе мы обычно проводим сравнения каждый раз. Эти сравнения могут быть по номерам текстов или любого рода данных. Что касается чисел, мы уже знаем, как мы делаем сравнение. Есть много математических методов для этого. Но как сравнить две строки, какой результат мы получим. STRCOMP в VBA - это функция сравнения строк. Он сравнивает две строки друг с другом и дает нам результат. Однако результат сравнения не является истинным или ложным. Есть три способа сравнить две строки в функции STRCOMP. Прежде чем мы углубимся в это, давайте посмотрим синтаксис этой функции.

Синтаксис StrComp в Excel VBA

Синтаксис для функции VBA StrComp в Excel выглядит следующим образом:

Строка 1 - это строка, которая будет сравниваться со строкой 2. Методы сравнения являются необязательными для этой функции. Теперь давайте перейдем к методам сравнения в этой функции. В этой функции есть три типа методов сравнения:

  1. VbBinaryCompare: это метод сравнения по умолчанию, если мы не выбираем метод сравнения для нашей функции. Этот метод сравнения чувствителен к регистру, что означает, что если строка 1 и строка 2 одинаковы, но строка 1 в нижнем регистре, а строка 2 в верхнем регистре, они не будут одинаковыми. Двоичный код для «a» и «A» различен. Аналогично для других персонажей. Эти коды называются ASCII-кодами.
  2. VbTextCompare: В этом методе сравнения сравнение не чувствительно к регистру, поэтому, если строка 1 и строка 2 равны, но не в одном и том же случае, то будут использоваться эти методы сравнения.
  3. Сравнение доступа: этот метод используется при сравнении баз данных.

Теперь, когда мы используем эту функцию, какой результат мы получим? Мы не получим истину или ложь с помощью этой функции сравнения. Вместо этого мы можем получить любой из следующих результатов:

  1. 0, если строки равны друг другу.
  2. 1, если строки не совпадают друг с другом.
  3. -1, если первая строка меньше строки 2.
  4. NULL, если для строки 1 и 2 нет значения.

Мы рассмотрим несколько различных примеров и посмотрим, как выполняется сравнение строк в VBA.

Как использовать функцию VBA StrComp в Excel?

Мы узнаем, как использовать функцию VBA StrComp с примером в Excel.

Вы можете скачать этот шаблон VBA StrComp Excel здесь - Шаблон VBA StrComp Excel

Пример № 1 - VBA StrComp

Давайте сначала используем метод двоичного сравнения для нашего примера. Мы возьмем от пользователя две строковые входные данные, одну в нижнем регистре, а другую - в верхнем, и сравним их.

Шаг 1: Из вкладки разработчика, а затем из Visual Basic, чтобы войти в VB Editor.

Шаг 2. Вставьте модуль с вкладки «Вставка», чтобы начать писать коды в VBA.

Шаг 3: Дважды щелкните модуль на вкладке проекта и объявите подфункцию следующим образом.

Код:

 Sub Sample () End Sub 

Шаг 4: Нам нужно определить три переменные как строки, две будут содержать наш ввод, а другая будет хранить результат.

Код:

 Sub Sample () Dim A, B, C As String End Sub 

Шаг 5: В переменной A и B примите ввод от пользователя для двух строк следующим образом.

Код:

 Sub Sample () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») End Sub 

Шаг 6: Сравните обе строки в переменной A и B и сохраните значение в C, используя функцию STRCOMP, и используйте метод сравнения в качестве двоичного сравнения.

Код:

 Sub Sample () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») C = StrComp (A, B, vbBinaryCompare) End Sub 

Шаг 7: Показать вывод, сохраненный в переменной C, используя функцию Msgbox.

Код:

 Sub Sample () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Шаг 8: Теперь нажмите F5 для выполнения кода и введите две строки ввода следующим образом:

Шаг 9: Смотрите окончательный результат следующим образом.

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

Пример №2 - VBA StrComp

Теперь давайте воспользуемся другим методом сравнения - VbTextCompare и посмотрим, какие результаты мы получим для тех же данных, которые мы предоставили выше.

Шаг 1: В модуль, который мы вставили ранее, дважды щелкните его на вкладке проекта и объявите подфункцию, чтобы начать работу над вторым примером следующим образом.

Код:

 Sub Sample1 () End Sub 

Шаг 2: Нам нужно определить три переменные в виде строк, две будут содержать наш ввод, а другая будет хранить результат.

Код:

 Sub Sample1 () Dim A, B, C As String End Sub 

Шаг 3: В переменной A и B примите ввод от пользователя для двух строк следующим образом.

Код:

 Sub Sample1 () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») End Sub 

Шаг 4: Сравните обе строки в переменных A и B и сохраните значение в C с помощью функции STRCOMP и используйте метод сравнения в качестве текстового сравнения.

Код:

 Sub Sample1 () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») C = StrComp (A, B, vbTextCompare) End Sub 

Шаг 5: Показать вывод, сохраненный в переменной C, используя функцию Msgbox.

Код:

 Sub Sample1 () Dim A, B, C As String A = InputBox («Введите строку», «В нижнем регистре») B = InputBox («Введите строку», «В верхнем регистре») C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Шаг 6: Теперь нажмите F5 и введите две строки ввода следующим образом.

Шаг 7: Смотрите окончательный результат следующим образом.

В результате мы получаем 0, так как сравнение текста не учитывает регистр, что означает, что строки равны.

Пример № 3 - VBA StrComp

Теперь у меня есть некоторые данные на листе 1 следующим образом. Я хочу выяснить, похожи ли данные в столбце A и столбце B друг на друга или нет. Посмотрите на данные ниже.

Шаг 1: Давайте поработаем в третьем примере для наших данных следующим образом.

Код:

 Sub Sample2 () End Sub 

Шаг 2: Активируйте лист 1, чтобы мы могли использовать его свойства.

Код:

 Sub Sample2 () Worksheets ("Sheet1"). Активировать End Sub 

Шаг 3: Объявите две переменные, одну как целое число, которое будет использоваться для цикла, и одну как строку, которая будет использоваться для хранения результата сравнения.

Код:

 Sub Sample2 () Worksheets ("Sheet1"). Активируйте Dim A как целое число Dim B как конец строки 

Шаг 4: Напишите следующий код для сравнения и используйте цикл for.

Код:

 Sub Sample2 () Worksheets ("Sheet1"). Активируйте Dim A как целое число Dim B в виде строки для A = от 2 до 5 B = StrComp (Cells (A, 1). Значение, Cells (A, 2). Значение, vbBinaryCompare) Если B = 0, то ячейки (A, 3) .Value = "равно" Остальные ячейки (A, 3) .Value = "НЕ равно" End If Next A End Sub 

Шаг 5: Запустите приведенный выше код и посмотрите результат на листе 1 следующим образом.

Ни одна из строк не была равной в сравнении.

То, что нужно запомнить

  • Это функция сравнения.
  • Возвращает 0, 1, -1 или NULL в результате не true или false.
  • Если мы не предоставляем какой-либо из методов сравнения, то по умолчанию используется метод сравнения VbBinaryCompare.
  • Метод сравнения является необязательным аргументом для этой функции.

Рекомендуемые статьи

Это руководство по VBA StrComp. Здесь мы обсудим, как использовать функцию Excel VBA StrComp вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA InStr объяснил с помощью примеров
  2. Целочисленный тип данных VBA
  3. Как выбрать ячейку, используя код VBA?
  4. Транспонировать диапазон в VBA
  5. VBA Worksheets (Примеры)

Категория: