VBA Asc

Funkcja Excel VBA Asc

Funkcja Asc w języku VBA służy do zwracania wartości całkowitej, która reprezentuje kod znaku odpowiadający pierwszemu znakowi dostarczonego ciągu (ciąg dostarczony jako argument / parametr) do funkcji. Można go użyć lub podać w kodzie makra, który jest zwykle wprowadzany za pośrednictwem Edytora Visual Basic.

Środowisko programu Excel, w którym makro działa w Edytorze Visual Basic (VBE), którego można używać do edycji i debugowania kodów makr. Przechowuje kod makra i łączy go ze skoroszytem programu Excel.

Wartość całkowita zwracana przez funkcję Asc to odpowiadający jej kod znaku ASCII w języku VBA. ASCII (American Standard Code for Information Interchange) to 7-bitowe kodowanie znaków, w którym zdefiniowano łącznie 128 znaków, w tym alfabety łacińskie, dziesięć cyfr arabskich, niektóre znaki interpunkcyjne i znaki sterujące. Nie zawiera znaków diakrytycznych, ponieważ wymagają one co najmniej 8-bitowego miejsca do kodowania. To 8-bitowe kodowanie odbywa się za pomocą ANSI (American National Standards Institute), który ma łącznie 256 zdefiniowanych znaków. ANSI jest również nazywany rozszerzonym ASCII.

Składnia funkcji VBA Asc

Ogólna składnia funkcji ASC jest następująca:

W składni formuły ASC występuje następujący argument:

Ciąg: wymagany, reprezentuje ciąg tekstowy, którego odpowiedni kod znaku pierwszego znaku jest wymagany i ma zostać zwrócony.

Jeśli podany ciąg ma tylko jeden znak, funkcja oczywiście zwraca numeryczny kod znaku dla samego znaku.

Przykłady Excel VBA Asc

Zobaczmy poniżej, jak można używać Asc w Excel VBA.

Możesz pobrać ten szablon programu VBA Asc Function Excel tutaj - Szablon programu VBA Asc Function Excel

Przykład 1

Powiedzmy, że mamy plik Excela zawierający jakieś ciągi i chcemy użyć funkcji Asc z tymi napisami. Zobaczmy ciągi zawarte w pliku:

Używamy funkcji Asc w VBA w makrze, które można zapisać w Edytorze Visual Basic i można uzyskać do niego dostęp w następujący sposób:

Przejdź do Developer, a następnie kliknij Macros:

Teraz utwórz nazwę makra: W polu „Nazwa makra” wpisz nazwę makra, które chcesz utworzyć, i wybierz PERSONAL.XLSB z listy rozwijanej „Makra w”. Makra można przechowywać w osobistym skoroszycie, który jest ukrytym skoroszytem, ​​który otwiera się w tle po każdym uruchomieniu programu Excel. Wybranie opcji PERSONAL.XLSB spowoduje zapisanie makr w skoroszycie osobistym, dzięki czemu makro będzie zawsze dostępne, ponieważ skoroszyt osobisty nie jest specyficzny dla systemu / pliku.

Kliknij „Utwórz”.

Spowoduje to otwarcie okna z procedurą podrzędną VBA w Edytorze Visual Basic w następujący sposób:

Teraz zdefiniuj zmienną Wynik

Kod:

Kod podrzędny () Dim Wynik1 End Sub

Teraz przypisz zmiennej Wynik1 z formułą zwracającą kod znaku ciągu:

Kod:

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

Teraz wynikową wartość Result1 można wyświetlić i zwrócić za pomocą okna komunikatu VBA (MsgBox) w następujący sposób:

Kod:

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

Teraz, gdy uruchomimy ten kod ręcznie, klikając „Uruchom” w górnej części okna lub naciskając klawisz F5, otrzymamy kod znaku pierwszej litery ciągu: „Raj” wyświetlany w oknie komunikatów w następujący sposób:

Tak więc na powyższym zrzucie ekranu widzimy, że po uruchomieniu makra w oknie komunikatu zwracana jest wartość „82”. Oznacza to, że kod znaku „R” to 82.

Teraz powiedzmy, że w powyższym przykładzie chcemy znaleźć kod znaku dla ciągu: „Karan”. Aby to zrobić, wykonujemy te same kroki, co powyżej.

Zamiast tego w kodzie Raj napiszemy Karana, aby uzyskać kod znaku.

Kod:

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

Teraz uruchamiamy ten kod ręcznie lub naciskając klawisz F5 i otrzymujemy kod znaku pierwszej litery ciągu: „Karan” wyświetlany w oknie komunikatów w następujący sposób:

Tak więc na powyższym zrzucie ekranu widzimy, że po uruchomieniu makra w oknie komunikatu zwracana jest wartość „75”. Oznacza to, że kod znaku „K” to 75.

Zobaczmy teraz, jak zmienia się wynik dla pozostałych ciągów:

Kod:

 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 

Podczas wykonywania tych procedur podrzędnych jedna po drugiej, w oknie komunikatu zwracane są następujące kody znaków (odpowiednio po jednym na raz). To jest lista odpowiednich wartości zwróconych dla powyższych ciągów.

Tak więc, jak pokazuje powyższy zrzut ekranu, widzimy, że funkcja ASC zwraca kod znaku jako 65 dla łańcucha: „Arun”, a także dla ciągu: „A”. Dzieje się tak, ponieważ zwracany kod znaku to VBA ASCII lub równoważny kod znaku dla pierwszej litery ciągu w przypadku, gdy łańcuch zawiera więcej niż jeden znak. W związku z tym jako początkowy lub pierwszy znak ciągu zwracana jest liczba 65: „Arun” to także „A”.

Przykład nr 2

Jeśli ciąg dostarczony jako parametr / argument funkcji VBA ASC jest łańcuchem pustym / pustym (lub ciągiem bez znaków), funkcja zwraca błąd czasu wykonania.

Poniższy kod wyjaśnia to samo.

 Sub blank () Dim result result = Asc ("") MsgBox (result) End Sub 

Po uruchomieniu tego kodu otrzymujemy następujący błąd czasu wykonywania.

Tak więc na powyższym zrzucie ekranu widzimy, że gdy łańcuch dostarczony jako parametr lub argument funkcji ASC jest pusty / pusty, funkcja zwraca błąd wykonania.

Rzeczy do zapamiętania

  • Łańcuch dostarczony do funkcji ASC VBA może być dowolnym prawidłowym wyrażeniem łańcuchowym.
  • Funkcja Asc rozróżnia wielkość liter.
  • Wartość całkowita zwracana przez funkcję Asc mieści się w zakresie 0-255.
  • Kody ASCII w VBA dla AZ to 65-90, a dla az to 97-122.
  • Nazwa nadana makro lub podprocedurze nie może być nazwą jakiejś domyślnej funkcji w języku VBA. Jeśli tak nazwane, podprocedura pokaże błąd.