Ascenseur VBA

Fonction Excel VBA Asc

La fonction Asc dans VBA est utilisée pour renvoyer une valeur entière qui représente un code de caractère correspondant au premier caractère d'une chaîne fournie (chaîne fournie en tant qu'argument / paramètre) à la fonction. Il peut être utilisé ou donné dans un code de macro qui est généralement entré via Visual Basic Editor.

L'environnement Excel dans lequel la macro s'exécute dans Visual Basic Editor (VBE) qui peut être utilisé pour modifier et déboguer les codes de macro. Il contient le code de la macro et le lie au classeur Excel.

La valeur entière renvoyée par la fonction Asc est le code de caractère ASCII correspondant dans VBA. ASCII (American Standard Code for Information Interchange) est un codage de caractères 7 bits qui a un total de 128 caractères définis, y compris des alphabets latins, dix chiffres arabes, des signes de ponctuation et des caractères de contrôle. Il n'inclut pas les caractères diacritiques car ils nécessitent un espace minimum de 8 bits pour l'encodage. Ce codage 8 bits est effectué avec ANSI (American National Standards Institute) qui a un total de 256 caractères définis. ANSI est également appelé ASCII étendu.

Syntaxe de la fonction VBA Asc

La syntaxe générale de la fonction ASC est la suivante:

La syntaxe de la formule ASC a l'argument suivant:

Chaîne: obligatoire, représente la chaîne de texte dont le code de caractère correspondant au premier caractère est souhaité et doit être renvoyé.

Si la chaîne fournie n'a qu'un seul caractère, alors la fonction renvoie évidemment le code de caractère numérique pour ce caractère lui-même.

Exemples d'Excel VBA Asc

Voyons ci-dessous comment l'Asc peut être utilisé dans Excel VBA.

Vous pouvez télécharger ce modèle Excel de fonction VBA Asc ici - Modèle Excel de fonction VBA Asc

Exemple 1

Supposons que nous ayons un fichier Excel contenant des chaînes et que nous souhaitons utiliser la fonction Asc avec ces chaînes. Voyons les chaînes contenues dans le fichier:

Nous utilisons la fonction Asc dans VBA dans une macro qui peut être écrite dans Visual Basic Editor et accessible comme suit:

Allez dans Developer, puis cliquez sur Macros:

Créez maintenant un nom de macro: Sous «Nom de la macro», écrivez le nom de la macro que vous souhaitez créer et sélectionnez PERSONAL.XLSB dans la liste déroulante «Macros dans». Les macros peuvent être stockées dans un classeur personnel qui est un classeur masqué qui s'ouvre en arrière-plan à chaque démarrage d'Excel. La sélection de PERSONAL.XLSB enregistrerait les macros dans le classeur personnel rendant ainsi la macro toujours disponible puisque le classeur personnel n'est pas spécifique au système / fichier.

Cliquez sur «Créer».

Cela ouvrirait une fenêtre avec une sous-procédure VBA dans Visual Basic Editor comme suit:

Maintenant, définissez la variable Résultat

Code:

Sous-code () Dim Résultat1 Fin Sous

Attribuez maintenant la variable Result1 avec la formule pour renvoyer le code de caractère de la chaîne:

Code:

Sous-code () Dim Result1 Result1 = Asc ("Raj") End Sub

La valeur résultante de Result1 peut maintenant être affichée et renvoyée à l'aide d'une boîte de message VBA (MsgBox) comme suit:

Code:

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

Maintenant, lorsque nous exécutons ce code manuellement en cliquant sur «Exécuter» en haut de la fenêtre ou en appuyant sur F5, nous obtenons le code de caractère de la première lettre de la chaîne: «Raj» affiché dans une boîte de message comme suit:

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que lors de l'exécution de la macro, «82» est renvoyé dans une boîte de message. Cela implique que le code de caractère pour «R» est 82.

Maintenant, disons dans l'exemple ci-dessus que nous souhaitons trouver le code de caractère pour la chaîne: «Karan». Pour ce faire, nous suivons les mêmes étapes que ci-dessus.

Dans le code, Raj, nous écrirons Karan pour obtenir son code de caractère.

Code:

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

Maintenant, nous exécutons ce code manuellement ou en appuyant sur F5, et nous obtenons le code de caractère de la première lettre de la chaîne: «Karan» affiché dans une boîte de message comme suit:

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que lors de l'exécution de la macro, «75» est renvoyé dans une boîte de message. Cela implique qu'un code de caractère pour «K» est 75.

Voyons maintenant comment le résultat change pour les chaînes restantes:

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 

Lors de l'exécution de ces sous-procédures une par une, les codes de caractères suivants sont renvoyés dans la boîte de message (respectivement un à la fois). Il s'agit de la liste des valeurs correspondantes renvoyées pour les chaînes ci-dessus.

Ainsi, comme l'illustre la capture d'écran ci-dessus, nous pouvons voir que la fonction ASC renvoie le code de caractère comme 65 pour la chaîne: «Arun», et aussi pour la chaîne: «A». Cela est dû au fait que le code de caractère renvoyé est le code de caractère VBA ASCII ou équivalent pour la première lettre de la chaîne au cas où la chaîne comprend plusieurs caractères. Par conséquent, 65 est renvoyé pour les deux en tant que caractère initial ou premier de la chaîne: «Arun» est également «A».

Exemple # 2

Si la chaîne fournie en tant que paramètre / argument à la fonction VBA ASC est une chaîne vide / vide (ou une chaîne sans caractère), la fonction renvoie une erreur d'exécution.

Le code suivant explique la même chose.

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

Lorsque nous exécutons ce code, nous obtenons l'erreur d'exécution comme suit.

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que lorsque la chaîne fournie comme paramètre ou argument de la fonction ASC est vide / vide, la fonction renvoie une erreur d'exécution.

Choses à retenir

  • La chaîne fournie à la fonction VBA ASC peut être n'importe quelle expression de chaîne valide.
  • La fonction Asc est sensible à la casse.
  • La valeur entière renvoyée par la fonction Asc est comprise entre 0 et 255.
  • Les codes ASCII dans VBA pour AZ sont 65-90, et pour az sont 97-122.
  • Le nom donné à une macro ou à une sous-procédure ne peut pas être le nom d'une fonction par défaut dans VBA. Si elle est nommée ainsi, la sous-procédure affichera une erreur.