VBA Asc

Excel VBA Asc-Funktion

Die Asc-Funktion in VBA wird verwendet, um einen ganzzahligen Wert, der einen Zeichencode darstellt, der dem ersten Zeichen einer angegebenen Zeichenfolge (als Argument / Parameter bereitgestellte Zeichenfolge) entspricht, an die Funktion zurückzugeben. Es kann in einem Makrocode verwendet oder angegeben werden, der normalerweise über den Visual Basic-Editor eingegeben wird.

Die Excel-Umgebung, in der das Makro im Visual Basic-Editor (VBE) ausgeführt wird, mit der die Makrocodes bearbeitet und debuggt werden können. Es enthält den Makrocode und verknüpft ihn mit der Excel-Arbeitsmappe.

Der von der Asc-Funktion zurückgegebene ganzzahlige Wert ist der entsprechende ASCII-Zeichencode in VBA. ASCII (American Standard Code for Information Interchange) ist eine 7-Bit-Zeichencodierung, in der insgesamt 128 Zeichen definiert sind, darunter lateinische Alphabete, zehn arabische Ziffern, einige Satzzeichen und Steuerzeichen. Es enthält keine diakritischen Zeichen, da für die Codierung ein Mindestabstand von 8 Bit erforderlich ist. Diese 8-Bit-Codierung erfolgt mit ANSI (American National Standards Institute), für das insgesamt 256 Zeichen definiert sind. ANSI wird auch als erweitertes ASCII bezeichnet.

Syntax der VBA Asc-Funktion

Die allgemeine Syntax für die ASC-Funktion lautet wie folgt:

Die ASC-Formelsyntax hat das folgende Argument:

Zeichenfolge : Erforderlich, stellt die Textzeichenfolge dar, deren entsprechender Zeichencode für das erste Zeichen gewünscht ist und zurückgegeben werden soll.

Wenn die angegebene Zeichenfolge nur ein Zeichen enthält, gibt die Funktion offensichtlich den numerischen Zeichencode für dieses Zeichen selbst zurück.

Beispiele für Excel VBA Asc

Lassen Sie uns unten sehen, wie der Asc in Excel VBA verwendet werden kann.

Sie können diese VBA Asc Function Excel-Vorlage hier herunterladen - VBA Asc Function Excel-Vorlage

Beispiel 1

Angenommen, wir haben eine Excel-Datei mit einigen Zeichenfolgen, und wir möchten die Asc-Funktion mit diesen Zeichenfolgen verwenden. Sehen wir uns die in der Datei enthaltenen Zeichenfolgen an:

Wir verwenden die Asc-Funktion in VBA in einem Makro, das im Visual Basic-Editor geschrieben werden kann und auf das wie folgt zugegriffen werden kann:

Gehen Sie zu Entwickler und klicken Sie dann auf Makros:

Erstellen Sie nun einen Makronamen: Schreiben Sie unter 'Makroname' einen Namen des Makros, das erstellt werden soll, und wählen Sie PERSONAL.XLSB in der Dropdown-Liste 'Makros ein' aus. Die Makros können in einer persönlichen Arbeitsmappe gespeichert werden, bei der es sich um eine versteckte Arbeitsmappe handelt, die beim Starten von Excel im Hintergrund geöffnet wird. Durch Auswahl von PERSONAL.XLSB werden die Makros in der persönlichen Arbeitsmappe gespeichert, wodurch das Makro immer verfügbar wird, da die persönliche Arbeitsmappe nicht system- / dateispezifisch ist.

Klicken Sie auf "Erstellen".

Dies würde ein Fenster mit einer VBA-Unterprozedur in Visual Basic Editor wie folgt öffnen:

Definieren Sie nun die Variable Ergebnis

Code:

Sub Code () Dim Result1 End Sub

Weisen Sie nun der Variablen Result1 die Formel zu, um den Zeichencode der Zeichenfolge zurückzugeben:

Code:

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

Jetzt kann der resultierende Wert von Ergebnis1 mithilfe eines VBA-Meldungsfelds (MsgBox) wie folgt angezeigt und zurückgegeben werden:

Code:

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

Wenn wir diesen Code nun manuell ausführen, indem wir oben im Fenster auf "Ausführen" klicken oder F5 drücken, wird der Zeichencode des ersten Buchstabens der Zeichenfolge: "Raj" in einem Meldungsfeld wie folgt angezeigt:

Im obigen Screenshot sehen wir also, dass beim Ausführen des Makros '82' in einem Meldungsfeld zurückgegeben wird. Dies impliziert, dass der Zeichencode für 'R' 82 ist.

Nehmen wir nun im obigen Beispiel an, wir möchten den Zeichencode für die Zeichenfolge finden: "Karan". Dazu folgen wir den gleichen Schritten wie oben.

In den Code stattdessen Raj schreiben wir Karan, um seinen Zeichencode zu erhalten.

Code:

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

Jetzt führen wir diesen Code manuell oder durch Drücken von F5 aus und erhalten den Zeichencode des ersten Buchstabens der Zeichenfolge: "Karan" wird in einem Meldungsfeld wie folgt angezeigt:

Im obigen Screenshot sehen wir also, dass beim Ausführen des Makros '75' in einem Meldungsfeld zurückgegeben wird. Dies impliziert, dass ein Zeichencode für 'K' 75 ist.

Lassen Sie uns nun sehen, wie sich das Ergebnis für die verbleibenden Zeichenfolgen ändert:

Code:

 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 

Wenn Sie diese Unterprozeduren einzeln ausführen, werden die folgenden Zeichencodes (jeweils einzeln) im Meldungsfeld zurückgegeben. Dies ist die Liste der entsprechenden Werte, die für die obigen Zeichenfolgen zurückgegeben wurden.

Wie der obige Screenshot zeigt, können wir sehen, dass die ASC-Funktion den Zeichencode als 65 für die Zeichenfolge "Arun" und auch für die Zeichenfolge "A" zurückgibt. Dies liegt daran, dass der zurückgegebene Zeichencode der VBA-ASCII-Code oder ein gleichwertiger Zeichencode für den ersten Buchstaben der Zeichenfolge ist, falls die Zeichenfolge mehr als ein Zeichen enthält. Daher wird 65 für beide als erstes oder erstes Zeichen der Zeichenfolge zurückgegeben: "Arun" ist auch "A".

Beispiel 2

Wenn die als Parameter / Argument für die VBA-ASC-Funktion bereitgestellte Zeichenfolge eine leere / leere Zeichenfolge (oder eine Zeichenfolge ohne Zeichen) ist, gibt die Funktion einen Laufzeitfehler zurück.

Der folgende Code erklärt dasselbe.

 Sub blank () Ergebnis dimmen Ergebnis = Asc ("") MsgBox (Ergebnis) End Sub 

Wenn wir diesen Code ausführen, wird der Laufzeitfehler wie folgt angezeigt.

Im obigen Screenshot sehen wir also, dass die Funktion einen Laufzeitfehler zurückgibt, wenn die als Parameter oder Argument für die ASC-Funktion angegebene Zeichenfolge leer / leer ist.

Dinge, an die man sich erinnern sollte

  • Die der VBA-ASC-Funktion bereitgestellte Zeichenfolge kann ein beliebiger gültiger Zeichenfolgenausdruck sein.
  • Bei der Asc-Funktion wird zwischen Groß- und Kleinschreibung unterschieden.
  • Der von der Asc-Funktion zurückgegebene ganzzahlige Wert liegt im Bereich von 0 bis 255.
  • Die ASCII-Codes in VBA für AZ sind 65-90 und für az 97-122.
  • Der Name eines Makros oder einer Unterprozedur darf nicht der Name einer Standardfunktion in VBA sein. Wenn dies so benannt ist, zeigt die Unterprozedur einen Fehler an.