Funkce VBA StrComp

V naší práci obvykle provádíme srovnání pokaždé. Tato srovnání mohou být na textech čísel nebo jakémkoli druhu dat. U čísel již víme, jak provedeme srovnání. Existuje mnoho matematických metod, jak toho dosáhnout. Jak ale porovnáme dva řetězce, jaký výsledek získáme. STRCOMP ve VBA je funkce porovnání řetězců. Porovnává dva řetězce navzájem a dává nám výsledek. Výsledek srovnání však není pravdivý nebo nepravdivý. Existují tři způsoby, jak porovnat dva řetězce ve funkci STRCOMP. Než se do toho ponoříme, podívejme se na syntax této funkce.

Syntaxe StrComp v Excelu VBA

Syntaxe funkce VBA StrComp v Excelu je následující:

Řetězec 1 je řetězec, který bude porovnán s řetězcem 2. Srovnávací metody jsou pro tuto funkci volitelné. Nyní pojďme k této komparativní metodě. V této funkci existují tři typy srovnávacích metod a jsou následující:

  1. VbBinaryCompare: Toto je standardně srovnávací metoda, pokud nevybereme srovnávací metodu pro naši funkci. Tato metoda porovnávání rozlišuje velká a malá písmena, což znamená, že řetězec 1 a řetězec 2 jsou stejné, ale řetězec 1 je v malém a řetězec 2 je v obou případech nebude podobný. Binární kód pro „a“ a „A“ je jiný. Podobně pro jiné znaky. Tyto kódy se nazývají kódy ASCII.
  2. VbTextCompare: V této srovnávací metodě není rozlišování malých a velkých písmen, takže pokud jsou řetězec 1 a řetězec 2 stejné, ale nikoli ve stejném případě, budou použity tyto srovnávací metody.
  3. Porovnání přístupu: Tato metoda se používá při porovnávání databáze.

Nyní, když použijeme tuto funkci, jaký výsledek získáme? Pomocí této funkce porovnání nebudeme pravdiví nebo nepravdiví. Místo toho můžeme mít některý z následujících výsledků:

  1. 0, pokud jsou řetězce stejné.
  2. 1, pokud se řetězce neshodují.
  3. -1, pokud je první řetězec menší než řetězec 2.
  4. NULL, pokud neexistuje hodnota pro řetězec 1 i řetězec 2.

Projdeme několik různých příkladů a uvidíme, jak se tato porovnávání řetězců provádí ve VBA.

Jak používat funkci VBA StrComp v Excelu?

Naučíme se používat funkci VBA StrComp s příkladem v Excelu.

Tuto šablonu aplikace VBA StrComp Excel si můžete stáhnout zde - VBA StrComp Excel Template

Příklad č. 1 - VBA StrComp

Nejprve použijeme pro náš příklad metodu binárního srovnání. Vezmeme dva vstupy řetězců od uživatele, jeden v malém a druhý v malém a porovnáme je.

Krok 1: Na kartě vývojáře a poté z jazyka Visual Basic se dostanete do editoru VB.

Krok 2: Vložte modul z karty Vložit a začněte psát kódy ve VBA.

Krok 3: Poklepejte na modul na kartě Projekt a deklarujte níže uvedenou funkci.

Kód:

 Vzorek () Konec Sub 

Krok 4: Musíme definovat tři proměnné jako řetězce, dvě budou držet náš vstup, zatímco jiná bude ukládat výsledek.

Kód:

 Dílčí vzorek () Dim A, B, C jako konec řetězce Díl 

Krok 5: V proměnné A a B vezměte vstup od uživatele pro dva řetězce následovně.

Kód:

 Dílčí vzorek () Dim A, B, C jako řetězec A = InputBox ("Zadejte řetězec", "V malém") B = InputBox ("Zadejte řetězec", "V velkém") End Sub 

Krok 6: Porovnejte oba řetězce v proměnné A a B a uložte hodnotu do C pomocí funkce STRCOMP a použijte porovnávací metodu jako binární porovnání.

Kód:

 Dílčí vzorek () Dim A, B, C jako řetězec A = InputBox („Zadejte řetězec“, „Malými písmeny“) B = InputBox („Zadejte řetězec“, „Velkými písmeny“) C = StrComp (A, B, vbBinaryCompare) End Sub 

Krok 7: Zobrazte výstup uložený v proměnné C pomocí funkce Msgbox.

Kód:

 Dílčí vzorek () Dim A, B, C jako řetězec A = InputBox („Zadejte řetězec“, „Malými písmeny“) B = InputBox („Zadejte řetězec“, „Velkými písmeny“) C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Krok 8: Nyní stiskněte klávesu F5, abyste provedli kód a poskytli dva vstupní řetězce následujícím způsobem,

Krok 9: Viz konečný výsledek takto.

Výsledkem je 1, protože v binárním srovnání nejsou oba řetězce stejné, protože jeden řetězec je ve velkém a druhý v malém.

Příklad č. 2 - VBA StrComp

Nyní použijeme jinou srovnávací metodu, kterou je VbTextCompare, a uvidíme, jaké výsledky získáme pro stejné vstupy, které jsme poskytli výše.

Krok 1: Do modulu jsme vložili dříve, dvakrát na něj klikneme na kartě Projekt a deklarujeme dílčí funkci, abychom mohli začít pracovat na druhém příkladu následujícím způsobem.

Kód:

 Dílčí vzorek1 () Koncový díl 

Krok 2: Musíme definovat tři proměnné jako řetězce, dvě budou držet náš vstup, zatímco jiná bude ukládat výsledek.

Kód:

 Dílčí vzorek1 () Dim A, B, C jako konec řetězce Díl 

Krok 3: V proměnné A a B vezměte vstup od uživatele pro dva řetězce následovně.

Kód:

 Podvzorek1 () Dim A, B, C jako řetězec A = InputBox ("Zadejte řetězec", "V malém") B = InputBox ("Zadejte řetězec", "V velkém") End Sub 

Krok 4: Porovnejte oba řetězce v proměnné A a B a uložte hodnotu do C pomocí funkce STRCOMP a použijte porovnávací metodu jako porovnání textu.

Kód:

 Podvzorek1 () Dim A, B, C jako řetězec A = InputBox ("Zadejte řetězec", "V malém") B = InputBox ("Zadejte řetězec", "V velkém") C = StrComp (A, B, vbTextCompare) End Sub 

Krok 5: Zobrazte výstup uložený v proměnné C pomocí funkce Msgbox.

Kód:

 Podvzorek1 () Dim A, B, C jako řetězec A = InputBox ("Zadejte řetězec", "V malém") B = InputBox ("Zadejte řetězec", "V velkém") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Krok 6: Nyní stiskněte klávesu F5 a zadejte dva vstupní řetězce následujícím způsobem.

Krok 7: Viz konečný výsledek takto.

Výsledkem je 0, protože porovnání textu nerozlišuje velká a malá písmena, což znamená, že řetězce jsou stejné.

Příklad č. 3 - VBA StrComp

Nyní mám některá data v listu 1 následovně, chci zjistit, zda jsou data ve sloupci A i sloupci B navzájem podobná nebo ne. Podívejte se na níže uvedená data.

Krok 1: Pracujme ve třetím příkladu pro naše data následujícím způsobem.

Kód:

 Dílčí vzorek2 () Koncový díl 

Krok 2: Aktivujte list 1, abychom mohli používat jeho vlastnosti.

Kód:

 Sub Sample2 () Pracovní listy („List1“) 

Krok 3: Deklarujte dvě proměnné jednu jako celé číslo, které bude použito pro smyčku, a druhou jako řetězec, který bude použit k uložení výsledku porovnání.

Kód:

 Sub Sample2 () Pracovní listy („List1“). Aktivovat Dim A jako celé Dim Dim B jako řetězec End Sub 

Krok 4: Napište následující kód pro porovnání a použití smyčky for.

Kód:

 Dílčí ukázka2 () Pracovní listy ("List1"). Aktivujte Dim A jako celé Dim B jako řetězec pro A = 2 až 5 B = StrComp (buňky (A, 1) .Hodnota, Buňky (A, 2) .Hodnota, vbBinaryCompare)) Pokud B = 0, pak buňky (A, 3). Hodnota = "Rovná" Else Cells (A, 3). Hodnota = "NENÍ rovná se" Konec Pokud Další Konec Sub 

Krok 5: Spusťte výše uvedený kód a podívejte se na výsledek v listu 1 následovně.

Žádný z řetězců nebyl ve srovnání stejný.

Co si pamatovat

  • Toto je srovnávací funkce.
  • Vrací 0, 1, -1 nebo NULL jako výsledek není pravdivý nebo nepravdivý.
  • Pokud neposkytneme žádnou z porovnávacích metod, pak je ve výchozím nastavení srovnávací metoda VbBinaryCompare.
  • Srovnávací metoda je volitelným argumentem pro tuto funkci.

Doporučené články

Toto je průvodce VBA StrComp. Zde diskutujeme o tom, jak používat funkci Excel VBA StrComp spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. VBA InStr vysvětleno příklady
  2. VBA celočíselný typ dat
  3. Jak vybrat buňku pomocí kódu VBA?
  4. Transponujte rozsah ve VBA
  5. Pracovní listy VBA (příklady)

Kategorie: