ВБА СтрЦомп | Упоредите жице у ВБА користећи функцију СтрЦомп

Екцел ВБА СтрЦомп функција

ВБА СтрЦомп је уграђена функција која се користи за поређење да ли су две вредности низа исте или не. Међутим, резултати се не подразумевају ТРУЕ или ФАЛСЕ као на радном листу, већ је другачије.

Пре него што погледамо резултате, дозволите ми да вам прво покажем синтаксу функције СтрЦомп.

  • Стринг 1: Низ 1 је први низ или вредност коју упоређујемо.
  • Стринг 2: Низ 2 је други низ или вредност са којом се упоређујемо Стринг 1.
  • Упоредити: Овде можемо понудити три опције.
      • 0 = Бинарно упоређивање. Ово врши прорачуне осетљиве на мала и велика слова. На пример, „Здраво“ није једнако „ПОЗДРАВ“, јер се обе речи разликују. Ово је подразумевана вредност ако занемарите овај параметар. вбБинариЦомпаре
      • 1 = Текст упореди. Ова опција врши прорачуне који нису осетљиви на мала и велика слова. На пример, „Хелло“ је једнако догађају „ХЕЛЛО“, иако се обе речи разликују. вбТектЦомпаре
      • 2 = Приступ упореди. Ово врши поређење базе података.

Резултати функције поређења низова (СтрЦомп)

Као што сам рекао, када упоредимо две вредности на радном листу, добијемо резултат или ТРУЕ или ФАЛСЕ. Али са функцијом поређења низова ВБА резултати нису исти.

  • Добијамо нулу (0) када Стринг 1 је једнако Стринг 2.
  • Добијамо један (1) када Стринг 1 вредност је већа од Стринг 2 Вредност.
  • Добијамо минус један (-1) када Стринг 1 вредност је мања од Стринг 2
  • Добијамо НУЛЛ када Стринг 1 или Стринг 2 вредност је НУЛЛ.

Примери употребе ВБА СтрЦомп функције

Овај ВБА СтрЦомп Екцел образац можете преузети овде - ВБА СтрЦомп Екцел Предложак

Пример # 1

Почнимо са једноставним примером. На пример, упоредићемо две вредности, тј. „Екцел ВБА“ и „Екцел ВБА“.

Шифра:

 Суб СтрЦомп_Екампле1 () Дим ФирстВалуе Ас Стринг 'За чување вредности низа 1 Дим СецондВалуе Ас Стринг' За чување низа 2 вредност Дим Ресулт Ас Стринг 'За чување резултата формуле СтрЦомп ФирстВалуе = "Екцел ВБА"' Доделите Стринг 1 вредност СецондВалуе = "Екцел ВБА" 'Доделите вредност Стринг 2 Резултат = СтрЦомп (ФирстВалуе, СецондВалуе, вбБинариЦомпаре)' Примени функцију СтрЦомп МсгБок Резултат 'Прикажи резултат у оквиру за поруку Енд Суб 

Када покренем овај код, добићемо Нулту (0) као резултат јер обоје Стринг 1 и Стринг 2 вредности су исте.

Пример # 2

Сада ћу променити падеже две речи.

Низ 1 = Екцел Вба

Низ 2 = Екцел ВБА

Шифра:

 Суб СтрЦомп_Екампле2 () Дим ФирстВалуе Ас Стринг 'За чување вредности низа 1 Дим СецондВалуе Ас Стринг' За чување низа 2 вредност Дим Ресулт Ас Стринг 'За чување резултата формуле СтрЦомп ФирстВалуе = "Екцел Вба"' Доделите Стринг 1 вредност СецондВалуе = "Екцел ВБА" 'Доделите вредност Стринг 2 Резултат = СтрЦомп (ФирстВалуе, СецондВалуе, вбБинариЦомпаре)' Примени функцију СтрЦомп МсгБок Резултат 'Прикажи резултат у оквиру за поруку Енд Суб 

Када покренем овај код, добићемо 1 јер пошто смо аргумент за упоредбу дали као „вбБинариЦомпаре ” провериће да ли постоје знакови осетљиви на велика и мала слова.

Сада ћу променити Упоредити опција од „вбБинариЦомпаре ” до "вбТектЦомпаре ”

Шифра:

 Суб СтрЦомп_Екампле3 () Дим ФирстВалуе Ас Стринг 'За чување вредности низа 1 Дим СецондВалуе Ас Стринг' За чување низа 2 вредност Дим Ресулт Ас Стринг 'За чување резултата формуле СтрЦомп ФирстВалуе = "Екцел Вба"' Доделите Стринг 1 вредност СецондВалуе = "Екцел ВБА" 'Доделите вредност Стринг 2 Резултат = СтрЦомп (ФирстВалуе, СецондВалуе, вбТектЦомпаре)' Примени функцију СтрЦомп МсгБок Резултат 'Прикажи резултат у оквиру за поруку Енд Суб 

Са овим Упоредити, добићемо нулу (0) јер вбаТектЦомпаре занемарује речи које разликују велика и мала слова.

Пример # 3

Студија случаја ВБА СтрЦомп са ИФ стањем

Претпоставимо да имате податке попут доње слике.

Морамо упоредити Стринг 1 са Стринг 2 и стићи Резултат као „Тачно“ ако су оба иста, иначе би резултат требало да буде „Није тачно“.

Код у наставку ће обавити посао за нас.

Шифра:

 Суб СтрЦомп_Екампле4 () Затамни резултат као низ Затамни И као цео број за и = 2 до 6 Резултат = СтрЦомп (Ћелије (и, 1) .Валуе, Ћелије (и, 2) .Валуе) Ако је резултат = 0 Тада ћелије (и, 3 ) .Валуе = "Тачно" Остале ћелије (и, 3) .Валуе = "Нетачно" Крај ако је следеће и Крај Суб 

Када покренем горњи ВБА код у програму Екцел, добићемо доњи резултат.

Ако погледате ћелију Ц4 Стринг 1 и Стринг 2 су исти, али знакови разликују велика и мала слова, па је резултат „Није тачно“. Да бисмо превазишли ово питање, морамо да доставимо упореди као вбТектЦомпаре.

Испод је модификовани код за добијање резултата као „Тачно“ за ћелију Ц4.

Шифра:

 Суб СтрЦомп_Екампле4 () Затамни резултат као низ Затамни И као цео број за и = 2 до 6 Резултат = СтрЦомп (Ћелије (и, 1) .Валуе, Ћелије (и, 2) .Валуе, вбТектЦомпаре) Ако је резултат = 0, онда ћелије (и , 3) .Валуе = "Тачно" Остале ћелије (и, 3) .Валуе = "Нетачно" Крај ако је следеће и Крај Суб 

Овај код ће вратити доњи резултат.