VBA StrComp függvény
Munkánkban általában minden alkalommal összehasonlítunk. Ezek az összehasonlítások lehetnek számokat tartalmazó szövegeken vagy bármilyen adaton. A számok esetében már tudjuk, hogyan kell összehasonlítani. Sok matematikai módszer létezik erre. De hogyan hasonlíthatjuk össze két húrot, milyen eredményt kapunk. A VBA STRCOMP egy karakterlánc-összehasonlító függvény. Összehasonlítja a két húrokat egymással, és eredményt ad nekünk. Az összehasonlítás eredménye azonban nem igaz vagy hamis. Háromféle módon lehet összehasonlítani két karakterláncot a STRCOMP függvényben. Mielőtt belemerülnénk, nézzük meg ennek a funkciónak a szintaxisát.
A StrComp szintaxisa az Excel VBA-ban
A VBA StrComp függvény szintaxisa az Excelben a következő:
Az 1. karakterlánc az a karakterlánc, amelyet összehasonlítanak a 2. karakterlánccal. Az összehasonlítási módszerek opcionálisak erre a funkcióra. Most menjünk az összehasonlító módszerekhez ebben a függvényben. Háromféle összehasonlítási módszer létezik ebben a függvényben, amelyek a következők:
- VbBinaryCompare: Ez alapértelmezés szerint összehasonlítási módszer, ha nem választunk összehasonlítási módszert a funkciónkhoz. Ez az összehasonlítási módszer kis- és nagybetűket érzékel, azaz ha az 1. és a 2. karakterlánc megegyezik, de az 1. karakterlánc kisbetűs és a 2. karakterlánc nagybetűs, mindkettő nem lesz hasonló. Az „a” és „A” bináris kódja különbözik. Hasonlóan más karakterekhez. Ezeket a kódokat ASCII kódoknak nevezzük.
- VbTextCompare: Ebben az összehasonlítási módszerben az összehasonlítás nem érinti a kis- és nagybetűket, tehát ha az 1. és a 2. karakterlánc azonos, de nem ugyanabban az esetben, akkor ezt az összehasonlítási módszert kell használni.
- Hozzáférési összehasonlítás: Ezt a módszert használják az adatbázis-összehasonlításokban.
Most, amikor ezt a funkciót használjuk, milyen eredményt fogunk elérni? Ezzel az összehasonlító funkcióval nem fogunk igaznak vagy hamisnak lenni. Ehelyett a következő eredmények bármelyikét kaphatjuk:
- 0, ha a húrok egyenlőek egymással.
- 1, ha a húrok nem egyeznek egymással.
- -1, ha az első karakterlánc kisebb, mint a 2. karakterlánc.
- NULL, ha nincs érték mind az 1., mind a 2. karakterláncon.
Megismerünk néhány különféle példát, és megnézzük, hogyan történnek ezek a karakterlánc-összehasonlítások a VBA-ban.
Hogyan lehet használni a VBA StrComp függvényt az Excelben?
Megtanuljuk, hogyan kell használni a VBA StrComp függvényt az Excel példájában.
Itt töltheti le a VBA StrComp Excel sablont - VBA StrComp Excel sablon1. példa - VBA StrComp
Először használjuk a bináris összehasonlítási módszert. Két karakterlánc-bemenetet veszünk a felhasználótól, az egyiket kisbetűvel, a másikat pedig a nagybetűvel, és összehasonlítjuk őket.
1. lépés: A fejlesztői fülről, majd a Visual Basicről, hogy belépjen a VB Szerkesztőbe.
2. lépés: Helyezzen be egy modult a beszúrás fülről a kódok VBA-ban történő írásának megkezdéséhez.
3. lépés: Kattintson duplán a modulra a projekt fülön és deklarálja az alfunkciót az alábbiak szerint.
Kód:
Alminta () Alsó rész vége
4. lépés: Három változót kell meghatározni karakterláncokként, kettő megtartja a bemeneteinket, míg egy másik tárolja az eredményt.
Kód:
Alminta () A, B, C tompítva mint karakterlánc vége Sub
5. lépés: Az A és B változóban vegye figyelembe a felhasználót a felhasználótól két húrra az alábbiak szerint.
Kód:
Alminta () Dim A, B, C Mint A karakterlánc = InputBox ("Írj be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írj be egy karakterláncot", "Nagybetűkkel") Vége Al
6. lépés: Hasonlítsa össze az A és B változó mindkét karakterláncát, és tárolja az értéket C-ben a STRCOMP függvény segítségével, és használjon összehasonlítási módszert bináris összehasonlításként.
Kód:
Alminta () Dim A, B, C, mint A karakterlánc = InputBox ("Írj be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írj be egy karakterláncot", "Nagybetűkkel") C = StrComp (A, B, vbBinaryCompare) End Sub
7. lépés: Jelenítse meg a C változóban tárolt kimenetet az Msgbox funkcióval.
Kód:
Alminta () Dim A, B, C, mint A karakterlánc = InputBox ("Írj be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írj be egy karakterláncot", "Nagybetűkkel") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub
8. lépés: Most nyomja meg az F5 billentyűt a kód végrehajtásához és két bemeneti karakterlánc megadásához, az alábbiak szerint:
9. lépés: Lásd a végeredményt az alábbiak szerint.
Ennek eredményeként 1-et kapunk, mivel a bináris összehasonlításban a két karakterlánc nem egyenlő, mivel az egyik karakterlánc nagybetűvel, a másik pedig kisbetűvel van.
2. példa - VBA StrComp
Most használjunk egy másik összehasonlítási módszert, amely a VbTextCompare, és nézzük meg, milyen eredményeket fogunk kapni ugyanazokra a bemenetekre, amelyeket fent megadtunk.
1. lépés: A modulba, amelyet korábban beillesztettünk, duplán kattintunk rá a Projekt fülön, és deklarálunk egy alfunkciót, hogy a második példán dolgozzunk az alábbiak szerint.
Kód:
1. alminta () az al
2. lépés: Három változót kell meghatározni karakterlánccal, kettő megtartja a bemeneteinket, míg egy másik tárolja az eredményt.
Kód:
Alminta1 () A, B, C tompítva mint karakterlánc vége Sub
3. lépés: Az A és B változóban vegye figyelembe a felhasználót a felhasználótól két húrra az alábbiak szerint.
Kód:
Alminta1 () Dim A, B, C, mint A karakterlánc = InputBox ("Írj be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írj be egy karakterláncot", "Nagybetűkkel") Vége Al
4. lépés: Hasonlítsa össze az A és B változó mindkét karakterláncát, és tárolja az értéket C-ben a STRCOMP függvény segítségével, és használja az összehasonlítási módszert szöveges összehasonlításként.
Kód:
Alminta1 () Dim A, B, C, mint A karakterlánc = InputBox ("Írjon be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írjon be egy karakterláncot", "Nagybetűkkel") C = StrComp (A, B, vbTextCompare) End Sub
5. lépés: Jelenítse meg a C változóban tárolt kimenetet az Msgbox funkcióval.
Kód:
Alminta1 () Dim A, B, C, mint A karakterlánc = InputBox ("Írjon be egy karakterláncot", "Kisbetűkkel") B = InputBox ("Írjon be egy karakterláncot", "Nagybetűkkel") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub
6. lépés: Most nyomja meg az F5 billentyűt, és adja meg két bemeneti karakterláncot az alábbiak szerint.
7. lépés: Lásd a végeredményt az alábbiak szerint.
Ennek eredményeként 0-t kapunk, mivel a szöveg-összehasonlítás nem nagybetű-érzékeny, azaz a karakterláncok egyenlők.
3. példa - VBA StrComp
Most az alábbiakban szerepel néhány adat az 1. lapban: szeretném megtudni, hogy az A oszlop és a B oszlop adatai hasonlóak-e vagy sem. Vessen egy pillantást az alábbi adatokra.
1. lépés: Tegyük fel a harmadik példánk adatainkat az alábbiak szerint.
Kód:
2. alminta () az al
2. lépés: Aktiválja az 1. munkalapot annak tulajdonságainak felhasználása érdekében.
Kód:
Alminta2 () munkalapok ("1.lap")
3. lépés: Nyisson két változót egészként, amelyet a hurokhoz használ, és egy olyan karakterlánccal, amely az összehasonlítás eredményét tárolja.
Kód:
Alminta2 () munkalapok ("1.lap"). Aktiválja a Dim A mint egész számot Dim B mint a String End Sub
4. lépés: Írja be a következő kódot a for hurok összehasonlításához és használatához.
Kód:
Alminta2 () munkalapok ("1.lap"). A DIM aktiválása egész számként Dim B mint sorozat A = 2-től 5-ig B = StrComp (cellák (A, 1) .érték, cellák (A, 2) .érték, vbBinaryCompare) Ha B = 0, akkor cellák (A, 3) .Value = "Equal" Egyéb cellák (A, 3) .Value = "NOT Equal" End, ha a következő A End Sub
5. lépés: Futtassa a fenti kódot, és az eredményt az 1. lapon lásd a következőképpen.
A húrok egyike sem volt egyenlő az összehasonlításban.
Dolgok, amikre emlékezni kell
- Ez egy összehasonlító funkció.
- 0, 1, -1 vagy NULL értéket ad vissza, ennek eredményeként nem igaz vagy hamis.
- Ha nem adunk meg összehasonlítási módszereket, akkor alapértelmezés szerint az összehasonlítási módszer a VbBinaryCompare.
- Az összehasonlítási módszer opcionális argumentum erre a funkcióra.
Ajánlott cikkek
Ez egy útmutató a VBA StrComp-hoz. Itt megvitatjuk, hogyan lehet használni az Excel VBA StrComp funkciót, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -
- A VBA InStr példákkal magyarázta
- VBA egész szám adattípus
- Hogyan válasszuk ki a cellát a VBA kód használatával?
- Távolítsa el a tartományt a VBA-ban
- VBA munkalapok (példák)