VBA Asc

Funzione Excel VBA Asc

La funzione Asc in VBA viene utilizzata per restituire alla funzione un valore intero che rappresenta un codice carattere corrispondente al primo carattere di una stringa fornita (stringa fornita come argomento / parametro). Può essere utilizzato o fornito in un codice macro che viene generalmente immesso tramite Visual Basic Editor.

L'ambiente Excel in cui viene eseguita la macro in Visual Basic Editor (VBE) che può essere utilizzato per modificare ed eseguire il debug dei codici macro. Contiene il codice macro e lo collega alla cartella di lavoro di Excel.

Il valore intero restituito dalla funzione Asc è il codice di caratteri ASCII corrispondente in VBA. ASCII (American Standard Code for Information Interchange) è una codifica di caratteri a 7 bit che contiene un totale di 128 caratteri definiti, inclusi alfabeti latini, dieci numeri arabi, alcuni segni di punteggiatura e caratteri di controllo. Non include caratteri diacritici poiché richiedono uno spazio minimo di 8 bit per la codifica. Questa codifica a 8 bit viene eseguita con ANSI (American National Standards Institute) che ha un totale di 256 caratteri definiti. ANSI è anche chiamato ASCII esteso.

Sintassi della funzione Asc VBA

La sintassi generale per la funzione ASC è la seguente:

La sintassi della formula ASC ha il seguente argomento:

Stringa: Obbligatorio, rappresenta la stringa di testo il cui codice del carattere corrispondente del primo carattere è desiderato e deve essere restituito.

Se la stringa fornita ha un solo carattere, la funzione ovviamente restituisce il codice del carattere numerico per quel carattere stesso.

Esempi di Excel VBA Asc

Vediamo di seguito come è possibile utilizzare Asc in Excel VBA.

Puoi scaricare questo modello Excel per la funzione Asc VBA qui - Modello Excel per la funzione Asc VBA

Esempio 1

Supponiamo di avere un file Excel contenente alcune stringhe e desideriamo utilizzare la funzione Asc con queste stringhe. Vediamo le stringhe contenute nel file:

Usiamo la funzione Asc in VBA in una macro che può essere scritta in Visual Basic Editor ed è accessibile come segue:

Vai a Sviluppatore, quindi fai clic su Macro:

Ora crea un nome macro: sotto "Nome macro" scrivi un nome della macro che si desidera creare e seleziona PERSONAL.XLSB nel menu a discesa di "Macro in". Le macro possono essere archiviate in una cartella di lavoro personale che è una cartella di lavoro nascosta che si apre in background ogni volta che viene avviato Excel. La selezione di PERSONAL.XLSB salverà le macro nella cartella di lavoro personale rendendo così la macro sempre disponibile poiché la cartella di lavoro personale non è specifica di sistema / file.

Fare clic su "Crea".

Ciò aprirebbe una finestra con una procedura secondaria VBA in Visual Basic Editor come segue:

Ora, definisci la variabile Risultato

Codice:

Sub Code () Dim Risultato1 End Sub

Ora assegna la variabile Risultato1 con la formula per restituire il codice carattere della stringa:

Codice:

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

Ora il valore risultante di Result1 può essere visualizzato e restituito utilizzando una finestra di messaggio VBA (MsgBox) come segue:

Codice:

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

Ora, quando eseguiamo questo codice manualmente facendo clic su "Esegui" nella parte superiore della finestra o premendo F5, otteniamo il codice carattere della prima lettera della stringa: "Raj" visualizzato in una finestra di messaggio come segue:

Quindi, possiamo vedere nello screenshot sopra che quando si esegue la macro, "82" viene restituito in una finestra di messaggio. Ciò implica che il codice carattere per "R" è 82.

Ora, diciamo nell'esempio precedente di voler trovare il codice carattere per la stringa: "Karan". Per fare ciò, seguiamo gli stessi passaggi di cui sopra.

Nel codice invece Raj scriveremo Karan per ottenere il suo codice carattere.

Codice:

 Sottostringa2 () Dim Risultato2 Risultato2 = Asc ("Karan") MsgBox Risultato2 Fine Sott 

Ora eseguiamo questo codice manualmente o premendo F5, e otteniamo il codice carattere della prima lettera della stringa: "Karan" visualizzato in una finestra di messaggio come segue:

Quindi, possiamo vedere nello screenshot sopra che quando si esegue la macro, "75" viene restituito in una finestra di messaggio. Ciò implica che un codice carattere per "K" è 75.

Vediamo ora come cambia il risultato per le stringhe rimanenti:

Codice:

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

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

 Sottostringa5 () Dim Risultato2 Risultato2 = Asc ("A") MsgBox Risultato2 Fine Sott 

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

Quando si eseguono queste sottoprocedure una alla volta, i seguenti codici di caratteri vengono restituiti nella finestra di messaggio (uno alla volta rispettivamente). Questo è l'elenco dei valori corrispondenti restituiti per le stringhe precedenti.

Quindi, come illustra la schermata sopra, possiamo vedere che la funzione ASC restituisce il codice del carattere come 65 per la stringa: "Arun", e anche per la stringa: "A". Questo perché il codice carattere restituito è l'ASCII VBA o un codice carattere equivalente per la prima lettera della stringa nel caso in cui la stringa sia composta da più di un carattere. Quindi, 65 viene restituito per entrambi come iniziale o primo carattere della stringa: "Arun" è anche "A".

Esempio n. 2

Se la stringa fornita come parametro / argomento alla funzione ASC VBA è una stringa vuota / vuota (o una stringa senza caratteri), la funzione restituisce un errore di runtime.

Il codice seguente spiega lo stesso.

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

Quando eseguiamo questo codice, otteniamo l'errore di runtime come segue.

Quindi, possiamo vedere nello screenshot sopra che quando la stringa fornita come parametro o argomento alla funzione ASC è vuota / vuota, la funzione restituisce un errore di runtime.

Cose da ricordare

  • La stringa fornita alla funzione ASC VBA può essere qualsiasi espressione stringa valida.
  • La funzione Asc fa distinzione tra maiuscole e minuscole.
  • Il valore intero restituito dalla funzione Asc è compreso tra 0 e 255.
  • I codici ASCII in VBA per AZ sono 65-90 e per az sono 97-122.
  • Il nome assegnato a una macro o sottoprocedura non può essere il nome di una funzione predefinita in VBA. Se denominato così, la sottoprocedura mostrerà un errore.