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

Преглед садржаја

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

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

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

  • Низ 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) .Валуе = "Нетачно" Крај ако је следеће и Крај Суб

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

Занимљиви Чланци...