Excel VBA Asc funkció
A VBA Asc függvényével egész értéket adhatunk vissza, amely a szállított karakterlánc első karakterének megfelelő karakterkódot képviseli (argumentumként / paraméterként megadott karakterlánc). Használható vagy megadható olyan makrókódban, amelyet általában a Visual Basic Editoron keresztül adnak meg.
Az az Excel-környezet, amelyben a makró a Visual Basic Editorban (VBE) fut, és amely felhasználható a makrókódok szerkesztésére és hibakeresésére. Tartja a makrokódot, és összekapcsolja az Excel munkafüzettel.
Az Asc függvény által visszaadott egész érték a megfelelő ASCII karakterkód a VBA-ban. Az ASCII (American Standard Code for Information Interchange) egy 7 bites karakterkódolás, amelyben összesen 128 karakter van meghatározva, beleértve a latin ábécét, tíz arab számot, néhány írásjelet és vezérlő karaktereket. Nem tartalmaz diakritikus karaktereket, mivel a kódoláshoz legalább 8 bites területre van szükség. Ez a 8 bites kódolás az ANSI-val (American National Standards Institute) történik, amely összesen 256 karaktert tartalmaz. Az ANSI-t kiterjesztett ASCII-nek is nevezik.
A VBA Asc funkció szintaxisa
Az ASC funkció általános szintaxisa a következő:
Az ASC képlet szintaxisa a következő argumentummal rendelkezik:
Karakterlánc: Kötelező, azt a szöveges karakterláncot jelöli, amelynek első karakterének megfelelő karakterkódját kívánja megadni és visszaadni.
Ha a megadott karaktersorozatnak csak egy karaktere van, akkor a függvény nyilvánvalóan maga a karakter numerikus karakterkódját adja vissza.
Példák az Excel VBA Asc-re
Nézzük meg alább, hogyan használható az Asc az Excel VBA-ban.
Itt letöltheti ezt a VBA Asc Function Excel sablont - VBA Asc Function Excel sablont1. példa
Tegyük fel, hogy van egy Excel-fájlunk, amely tartalmaz néhány karakterláncot, és az Asc függvényt szeretnénk használni ezekkel a karakterláncokkal. Lássuk a fájlban található karakterláncokat:
Az Asc függvényt a VBA-ban használjuk egy makróban, amely a Visual Basic Editorba írható és az alábbiak szerint érhető el:
Nyissa meg a Fejlesztőt, majd kattintson a Makrók elemre:
Most hozzon létre egy makrónevet: A „Makró neve” alatt írja be a létrehozni kívánt makró nevét, és válassza a „SZEMÉLYES.XLSB” lehetőséget a „Makrók be” legördülő menüből. A makrók egy személyes munkafüzetben tárolhatók, amely egy rejtett munkafüzet, amely az Excel indításakor a háttérben megnyílik. A PERSONAL.XLSB kiválasztásával a makrók mentésre kerülnek a Személyes munkafüzetbe, így a makró mindig elérhetővé válik, mivel a Személyes munkafüzet nem rendszer- vagy fájlspecifikus.
Kattintson a "Létrehozás" gombra.
Ez egy ablakot nyitna meg a Visual Basic Editorban található VBA aleljárással az alábbiak szerint:
Most adja meg az Eredmény változót
Kód:
Alkód () Dim Result1 End Sub
Most rendelje hozzá a Result1 változót a képlettel a karakterlánc karakterkódjának visszaadásához:
Kód:
Alkód () Dim Result1 Result1 = Asc ("Raj") End Sub
Most a Result1 eredményértéke megjeleníthető és visszaadható egy VBA üzenetdoboz (MsgBox) használatával az alábbiak szerint:
Kód:
Alkód () Dim Result1 Result1 = Asc ("Raj") MsgBox Res11 End Sub
Most, amikor ezt a kódot manuálisan futtatjuk az ablak tetején található „Futtatás” gombra kattintva vagy az F5 megnyomásával, megkapjuk a karaktersorozat első betűjének karakterkódját: „Raj” megjelenik az Üzenetdobozban az alábbiak szerint:
Tehát a fenti képernyőképen láthatjuk, hogy a makró futtatásakor a '82' egy üzenetmezőben jelenik meg. Ez azt jelenti, hogy az „R” karakterkódja 82.
Mondjuk a fenti példában, hogy meg akarjuk találni a karakterlánc karakterkódját: „Karan”. Ehhez ugyanazokat a lépéseket követjük, mint fent.
A kódba Raj helyett Karan-t írunk, hogy megkapjuk a karakterkódját.
Kód:
2. karakterlánc () Dim eredmény 2 eredmény 2 = Asc ("Karan") MsgBox eredmény 2 vége
Most ezt a kódot futtatjuk manuálisan vagy az F5 megnyomásával, és megkapjuk a karakterlánc első betűjének karakterkódját: „Karan” az Üzenetmezőben a következőképpen jelenik meg:
Tehát a fenti képernyőképen láthatjuk, hogy a makró futtatásakor a '75' egy üzenetmezőben jelenik meg. Ez azt jelenti, hogy a „K” karakterkódja 75.
Most nézzük meg, hogyan változik az eredmény a fennmaradó karakterláncoknál:
Kód:
3. részlánc: () Dim Result2 Result2 = Asc ("Heena") MsgBox Res22 End Sub
4. részlánc: () Dim 2. eredmény 2. eredmény = Asc ("Arun") MsgBox 2. eredmény vége
5. karakterlánc () Dim 2. eredmény 2. eredmény = Asc ("A") MsgBox 2. eredmény vége
6. karakterlánc () Dim Result2 Result2 = Asc ("a") MsgBox Res22 End Sub
Ennek az alfolyamatnak egyesével történő futtatásakor a következő karakterkódok kerülnek vissza az üzenetmezőbe (egyenként). Ez a fenti karakterláncokhoz adott megfelelő értékek listája.
Tehát, amint azt a fenti képernyőkép szemlélteti, láthatjuk, hogy az ASC függvény 65 karakterként adja vissza a karakterkódot a „Arun” karakterlánchoz, és a „A” karakterlánchoz is. Ez azért van, mert a visszaküldött karakterkód a VBA ASCII vagy azzal egyenértékű karakterkód a karakterlánc első betűjéhez, abban az esetben, ha a karakterlánc több karakterből áll. Ezért 65-et adunk vissza a karakterlánc kezdő vagy első karaktereként: az „Arun” szintén „A”.
2. példa
Ha a VBA ASC függvénynek paraméterként / argumentumként megadott karakterlánc üres / üres karakterlánc (vagy karakter nélküli karakterlánc), akkor a függvény futási hibát ad vissza.
A következő kód ugyanezt magyarázza.
Sub blank () Dim eredmény eredménye = Asc ("") MsgBox (eredmény) End Sub
Amikor futtatjuk ezt a kódot, az alábbiak szerint kapjuk meg a Futásidejű hibát.
Tehát a fenti képernyőképen láthatjuk, hogy amikor az ASC függvényhez paraméterként vagy argumentumként megadott karakterlánc üres / üres, akkor a függvény futási idejű hibát ad vissza.
Dolgok, amikre emlékezni kell
- A VBA ASC függvényhez szállított karakterlánc bármilyen érvényes karakterlánc lehet.
- Az Asc funkció megkülönbözteti a kis- és nagybetűket.
- Az Asc függvény által visszaadott egész érték 0 és 255 között van.
- Az AZ VC-jében az ASCII kódok 65-90, az az esetében 97-122.
- A makrónak vagy aleljárásnak adott név nem lehet a VBA valamelyik alapértelmezett függvényének neve. Ha így nevezik, akkor az aleljárás hibát fog mutatni.