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 () Край Sub 

Стъпка 4: Трябва да определим три променливи като низове, две ще задържат нашия вход, докато друга ще съхранява резултата.

Код:

 Sub Sample () Dim A, B, C като String End Sub 

Стъпка 5: В променливи A и B вземете данни от потребителя за два низа, както следва.

Код:

 Подпроба () Dim A, B, C като низ A = InputBox ("Въведете низ", "В малки букви") B = InputBox ("Въведете низ", "В големи букви") Край Sub 

Стъпка 6: Сравнете двата низа в променлива А и В и запаметете стойността в C, използвайки функцията STRCOMP и използвайте метод за сравнение като двоично сравнение.

Код:

 Подпроба () Dim A, B, C Като низ A = InputBox ("Въведете низ", "В малки букви") B = InputBox ("Въведете низ", "В големи букви") C = StrComp (A, B, vbBinaryCompare) Край Sub 

Стъпка 7: Показване на изхода, съхранен в променлива С, използвайки функцията Msgbox.

Код:

 Подпроба () Dim A, B, C Като низ A = InputBox ("Въведете низ", "В малки букви") B = InputBox ("Въведете низ", "В големи букви") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Стъпка 8: Сега натиснете F5, за да изпълните кода и да предоставите два входни низа, както следва,

Стъпка 9: Вижте крайния резултат, както следва.

Получаваме 1 като резултат, тъй като в Binary сравнение и двата низа не са равни, тъй като единият низ е в горния регистър, докато другият е в малкия.

Пример №2 - VBA StrComp

Сега нека използваме друг метод за сравнение, който е VbTextCompare и да видим какви резултати ще получим за същите входове, които предоставихме по-горе.

Стъпка 1: В модула, който вмъкнахме по-рано, щракнете двукратно върху него от раздела на проекта и декларираме подфункция, за да започнем да работим върху втория пример, както следва.

Код:

 Sub Sample1 () Край Sub 

Стъпка 2: Трябва да определим три променливи като низове, две ще задържат нашия вход, докато друга ще съхранява резултата.

Код:

 Sub Sample1 () Dim A, B, C като String End Sub 

Стъпка 3: В променливи A и B вземете данни от потребителя за два низа, както следва.

Код:

 Sub Sample1 () Dim A, B, C като String A = InputBox ("Въведете низ", "с малки букви") B = InputBox ("Въведете низ", "В големи букви") End Sub 

Стъпка 4: Сравнете двата низа в променлива А и В и съхранявайте стойността в C, използвайки функцията STRCOMP, и използвайте метода за сравнение като сравнение на текст.

Код:

 Sub Sample1 () Dim A, B, C As String A = InputBox ("Въведете низ", "In малкият регистър") B = InputBox ("Въведете низ", "В големи букви") C = StrComp (A, B, vbTextCompare) Край Sub 

Стъпка 5: Показване на изхода, съхраняван в променлива С, използвайки функцията Msgbox.

Код:

 Sub Sample1 () Dim A, B, C As String A = InputBox ("Въведете низ", "In малкият регистър") B = InputBox ("Въведете низ", "В големи букви") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Стъпка 6: Сега натиснете F5 и предоставете два входни низа, както следва.

Стъпка 7: Вижте окончателния резултат, както следва.

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

Пример №3 - VBA StrComp

Сега имам някои данни в Лист 1, както следва, искам да разбера дали и двете данни в колона А и колона Б са сходни помежду си или не. Разгледайте данните по-долу.

Стъпка 1: Нека работим в третия пример за нашите данни, както следва.

Код:

 Sub Sample2 () Край Sub 

Стъпка 2: Активирайте работен лист 1, така че да можем да използваме неговите свойства.

Код:

 Sub Sample2 () работни листове ("Sheet1"). Активирайте End Sub 

Стъпка 3: Декларирайте две променливи една като цяло число, което ще бъде използвано за цикъл и една като низ, която ще се използва за съхраняване на резултата от сравнението.

Код:

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

Стъпка 4: Напишете следния код за сравнение и използване на цикъла.

Код:

 Sub Sample2 () работни листове ("Sheet1"). Активирайте Dim A като цяло число Dim B като низ за A = 2 до 5 B = StrComp (клетки (A, 1) .Value, клетки (A, 2) .Value, vbBinaryCompare) Ако B = 0, тогава клетките (A, 3) .Value = "Равни" други клетки (A, 3) .Value = "НЕ Е равен" Край, ако следващият край 

Стъпка 5: Стартирайте горния код и вижте резултата в Лист 1, както следва.

Нито една от струните не е еднаква в сравнението.

Неща, които трябва да запомните

  • Това е функция за сравнение.
  • Връща 0, 1, -1 или NULL в резултат не е вярно или невярно.
  • Ако не предоставим някой от методите за сравнение, по подразбиране методът за сравнение е VbBinaryCompare.
  • Методът за сравнение е незадължителен аргумент за тази функция.

Препоръчителни статии

Това е ръководство за VBA StrComp. Тук обсъждаме как да използвате Excel VBA StrComp функция, заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. VBA InStr обясни с примери
  2. Тип данни на VBA Integer
  3. Как да изберете клетка с помощта на VBA код?
  4. Транспонирайте обхват в VBA
  5. VBA работни листове (примери)

Категория: