VBA Asc | Jak používat funkci Asc v aplikaci Excel VBA? (ASCII znakový kód)

Funkce Excel VBA Asc

Funkce Asc ve VBA se používá k vrácení celočíselné hodnoty, která představuje kód znaku odpovídající prvnímu znaku zadaného řetězce (řetězec poskytovaný jako argument / parametr) do funkce. Lze jej použít nebo zadat v kódu makra, který se obvykle zadává pomocí editoru jazyka.

Prostředí aplikace Excel, ve kterém je makro spuštěno v editoru jazyka (VBE), které lze použít k úpravám a ladění kódů maker. Obsahuje kód makra a propojuje jej se sešitem aplikace Excel.

Celočíselná hodnota vrácená funkcí Asc je odpovídající kód znaku ASCII ve VBA. ASCII (American Standard Code for Information Interchange) je 7bitové kódování znaků, které má v sobě definováno celkem 128 znaků včetně latinských abeced, deseti arabských číslic, některých interpunkčních znamének a řídicích znaků. Nezahrnuje diakritiku, protože pro kódování vyžadují minimální 8bitový prostor. Toto 8bitové kódování se provádí pomocí ANSI (American National Standards Institute), který má definováno celkem 256 znaků. ANSI se také nazývá rozšířený ASCII.

Syntaxe funkce VBA Asc

Obecná syntaxe pro funkci ASC je následující:

Syntaxe vzorce ASC obsahuje následující argument:

Řetězec: Povinný, představuje textový řetězec, jehož odpovídající znakový kód prvního znaku je požadován a má být vrácen.

Pokud má zadaný řetězec pouze jeden znak, pak funkce zjevně vrací číselný kód znaků pro tento znak samotný.

Příklady aplikace Excel VBA Asc

Uvidíme níže, jak lze Asc použít v Excel VBA.

Tuto šablonu Excel Asc Function VBA si můžete stáhnout zde - Šablona Excel Asc Function VBA

Příklad č. 1

Řekněme, že máme soubor aplikace Excel obsahující některé řetězce, a chceme s těmito řetězci použít funkci Asc. Podívejme se na řetězce obsažené v souboru:

Funkci Asc používáme ve VBA v makru, které lze zapsat v editoru jazyka a lze k němu přistupovat následovně:

Přejděte na Vývojář a klikněte na Makra:

Nyní vytvořte název makra: Do pole „Název makra“ napište název makra, které chcete vytvořit, a v rozevíracím seznamu „Makra v“ vyberte možnost PERSONAL.XLSB. Makra lze uložit do osobního sešitu, což je skrytý sešit, který se při spuštění aplikace Excel otevře na pozadí. Pokud vyberete soubor PERSONAL.XLSB, uložíte makra do osobního sešitu, čímž bude makro vždy dostupné, protože osobní sešit není specifický pro systém / soubor.

Klikněte na „Vytvořit“.

Otevře se okno s dílčím postupem VBA v editoru jazyka následovně:

Nyní definujte proměnnou Výsledek

Kód:

Sub Code () Dim Result1 End Sub

Nyní přiřaďte proměnnou Result1 se vzorcem, který vrátí kód znaku řetězce:

Kód:

Sub Code () Dim Result1 Result1 = Asc ("Raj") End Sub

Výslednou hodnotu Result1 lze nyní zobrazit a vrátit pomocí pole se zprávou VBA (MsgBox) následujícím způsobem:

Kód:

Sub Code () Dim Result1 Result1 = Asc ("Raj") MsgBox Result1 End Sub

Když nyní tento kód spustíme ručně kliknutím na „Spustit“ v horní části okna nebo stisknutím klávesy F5, získáme znakový kód prvního písmene řetězce: „Raj“ zobrazený v okně se zprávou takto:

Na výše uvedeném snímku obrazovky tedy vidíme, že při spuštění makra je v okně se zprávou vrácena hodnota „82“. To znamená, že znakový kód pro „R“ je 82.

Nyní řekněme, že ve výše uvedeném příkladu chceme najít kód znaku pro řetězec: „Karan“. Postupujeme stejným způsobem jako výše.

V kódu místo Raj napíšeme Karan, abychom získali jeho znakový kód.

Kód:

 Sub String2 () Dim Result2 Result2 = Asc ("Karan") MsgBox Result2 End Sub 

Nyní tento kód spustíme ručně nebo stisknutím klávesy F5 a získáme znakový kód prvního písmene řetězce: „Karan“ zobrazený v okně se zprávou takto:

Na výše uvedeném snímku obrazovky tedy vidíme, že při spuštění makra je v poli se zprávou vrácena hodnota 75. To znamená, že znakový kód pro „K“ je 75.

Nyní se podívejme, jak se výsledek změní pro zbývající řetězce:

Kód:

 Sub String3 () Dim Result2 Result2 = Asc ("Heena") MsgBox Result2 End Sub 

 Sub String4 () Dim Result2 Result2 = Asc ("Arun") MsgBox Result2 End Sub 

 Sub String5 () Dim Result2 Result2 = Asc ("A") MsgBox Result2 End Sub 

 Sub String6 () Dim Result2 Result2 = Asc ("a") MsgBox Result2 End Sub 

Při spuštění tohoto dílčího postupu jeden po druhém jsou v okně se zprávou vráceny následující kódy znaků (jeden po druhém). Toto je seznam odpovídajících hodnot vrácených pro výše uvedené řetězce.

Jak tedy ukazuje výše uvedený snímek obrazovky, vidíme, že funkce ASC vrací kód znaku jako 65 pro řetězec: „Arun“ a také pro řetězec: „A“. Je to proto, že vrácený znakový kód je VBA ASCII nebo ekvivalentní znakový kód pro první písmeno řetězce v případě, že je řetězec více než jeden znak. Proto je 65 vráceno pro oba jako počáteční nebo první znak řetězce: „Arun“ je také „A“.

Příklad č. 2

Pokud je řetězec dodávaný jako parametr / argument pro funkci VBA ASC prázdný / prázdný řetězec (nebo řetězec bez znaků), vrátí funkce chybu běhu.

Následující kód vysvětluje totéž.

 Sub blank () Dim výsledek result = Asc ("") MsgBox (result) End Sub 

Když spustíme tento kód, dostaneme chybu běhu následujícím způsobem.

Na výše uvedeném snímku obrazovky tedy vidíme, že když je řetězec zadaný jako parametr nebo argument funkce ASC prázdný / prázdný, vrátí funkce chybu běhu.

Věci k zapamatování

  • Řetězec dodávaný funkci VBA ASC může být jakýkoli platný řetězcový výraz.
  • Funkce Asc rozlišuje velká a malá písmena.
  • Celočíselná hodnota vrácená funkcí Asc je v rozsahu 0-255.
  • Kódy ASCII ve VBA pro AZ jsou 65-90 a pro az jsou 97-122.
  • Název daný makru nebo dílčímu postupu nemůže být názvem některé výchozí funkce ve VBA. Pokud je to pojmenováno, pak dílčí postup zobrazí chybu.

$config[zx-auto] not found$config[zx-overlay] not found