Come utilizzare la funzione IsNumeric di VBA (9 esempi)

  • Condividi Questo
Hugh West

Se siete alla ricerca di alcuni dei modi più semplici per utilizzare l'applicazione VBA IsNumeric In genere si usa questa funzione in VBA per verificare se un'espressione è un numero o meno e a seconda dell'espressione restituirà VERO se l'espressione è un numero, altrimenti FALSO .

Scarica il libro di lavoro

Funzione VBA IsNumeric.xlsm

Funzione VBA IsNumeric: Sintassi & Argomenti

⦿ Sintassi

IsNumeric (Espressione)

⦿ Argomenti

Argomento Richiesto/facoltativo Spiegazione
Espressione Richiesto È una variante che deve essere controllata se è un numero o meno.

⦿ Valore di ritorno

Ingresso Valore di ritorno
Numero VERO
Non un numero; stringa FALSO

⦿ Versione

Il Funzione ISNUMERIC è stato introdotto nel Excel 2000 ed è disponibile per tutte le versioni successive.

9 esempi di utilizzo della funzione IsNumeric di VBA

In questo articolo, cercheremo di dimostrare l'utilizzo della funzione VBA IsNumeric con alcuni esempi casuali insieme ad alcuni esempi tra cui la seguente tabella.

Abbiamo utilizzato Microsoft Excel 365 è possibile utilizzare qualsiasi altra versione in base alle proprie esigenze.

1. Verifica di VBA IsNumeric con alcuni valori casuali

Verranno testate alcune stringhe casuali con il metodo VBA ISNUMERICO , se i valori sono numerici o meno.

Passo-01 :

Vai a Sviluppatore Scheda Visual Basic Opzione.

Poi, il Editor Visual Basic si aprirà.

Vai a Inserire Scheda Modulo Opzione.

Successivamente, un Modulo verrà creato.

Passo-02 :

➤ Scrivere il seguente codice

 Sub checkvalue1() Dim x As Variant x = InputBox("Give any Value") MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà il valore di ingresso. Poi ISNUMERICO restituirà VERO se il valore in ingresso è numerico, altrimenti restituisce FALSO Troveremo l'output in una casella di messaggio ( MsgBox ).

➤ Stampa F5 .

Si otterrà la seguente casella di input e se si scrive il valore 100 e premere OK ,

si aprirà una finestra di messaggio che dice "Vero" .

Per scrivere la stringa Gatto e premendo OK nella casella di immissione,

Viene visualizzato un messaggio che dice "Falso" .

Per saperne di più: Come usare la funzione VBA Randomize in Excel (5 esempi)

2. Utilizzo di IsNumeric in VBA con l'istruzione IF-THEN-ELSE

In questa sezione si utilizzerà il metodo Funzione ISNUMERIC con il SE-QUANDO-ELSE in una dichiarazione VBA per definire i valori numerici e non numerici.

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue2() Dim x As Variant x = InputBox("Indicare un valore qualsiasi") If IsNumeric(x) = True Then MsgBox "Il valore dato è numerico" Else MsgBox "Il valore dato non è numerico" End If End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà il valore di ingresso. Quando ISNUMERICO restituirà VERO , SE restituirà un messaggio che dice "Il valore dato è numerico". e se ISNUMERICO ritorni FALSO , allora SE restituisce un messaggio che spiega "Il valore dato non è numerico". .

➤ Stampa F5 .

Si otterrà la seguente casella di input e se si scrive il valore 200 e premere OK ,

si aprirà una finestra di messaggio che dice "Il valore dato è numerico". .

Per scrivere la stringa Gatto e premendo OK nella casella di immissione,

Viene visualizzato un messaggio che dice "Il valore dato non è numerico". .

Per saperne di più: Dichiarazione VBA If - Then - Else in Excel (4 esempi)

3. Creazione di un risultato opposto con la funzione IsNumeric

Qui si creerà un oggetto VBA che ci darà il risultato inverso a quello del codice Funzione ISNUMERIC , il che significa che per i valori numerici otterremo FALSO e per i valori non numerici, restituirà VERO .

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue3() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà il valore di ingresso. Quando ISNUMERICO restituirà VERO , SE restituirà un messaggio che dice "FALSO" e se ISNUMERICO ritorni FALSO , allora SE restituisce un messaggio che spiega "VERO" .

➤ Stampa F5 .

Si otterrà la seguente casella di input e se si scrive il valore 25 e premere OK ,

si aprirà una finestra di messaggio che dice "FALSO" .

Per scrivere la stringa Alaska e premendo OK nella casella di immissione,

Viene visualizzato un messaggio che dice "VERO" .

Contenuti correlati: Funzione VBA Format in Excel (8 usi con esempi)

4. Verificare se gli spazi vuoti sono numerici o meno

Si può controllare facilmente con un VBA se gli spazi vuoti sono numerici o meno.

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue4() Dim x As Variant x = " " MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà il valore Vuoto . poi ISNUMERICO restituirà VERO se il Vuoto è numerico, altrimenti restituirà FALSO .

➤ Stampa F5 .

Successivamente, si aprirà una finestra di messaggio con la seguente dicitura "Falso" il che significa gli spazi vuoti non sono numerici .

Per saperne di più: Formula di Excel per generare numeri casuali (5 esempi)

5. Verifica se le date sono numeriche o meno

In questa sezione, utilizzeremo una data casuale e verificheremo se la data è numerica o meno.

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà una data. Poi ISNUMERICO restituirà VERO se la data è numerica, altrimenti restituisce FALSO .

➤ Stampa F5 .

Successivamente, si aprirà una finestra di messaggio con la seguente dicitura "Falso" il che significa le date non sono numeriche .

Possiamo anche provare con l'opzione Funzione DATESERIAL per creare date e verificare se sono numeriche o meno.

➤ Digitare il seguente codice

 Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2) MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà una data creata dal metodo Funzione DATESERIAL . poi ISNUMERICO restituirà VERO se la data è numerica, altrimenti restituisce FALSO .

➤ Stampa F5 .

In cambio, si otterrà una casella di messaggio che dice "Falso" anche questa volta.

Per saperne di più: Funzione Date in VBA (12 usi delle macro con esempi)

Letture simili:

  • Come utilizzare la funzione MsgBox in Excel VBA (una guida completa)
  • Utilizzare la funzione VBA Environ (4 esempi)
  • Come usare VBA e le funzioni in Excel (4 esempi)
  • Utilizzare la dichiarazione di caso VBA (13 esempi)
  • Come usare la funzione Log in Excel VBA (5 esempi)

6. Verifica se l'ora è numerica o meno

In questa sezione, si verificherà se i tempi sono numerici o meno, utilizzando il metodo Funzione ISNUMERIC .

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà un tempo. Poi ISNUMERICO restituirà VERO se l'ora è numerica, altrimenti restituisce FALSO .

➤ Stampa F5 .

Successivamente, si aprirà una finestra di messaggio con la seguente dicitura "Falso" il che significa i tempi non sono numerici .

Si può anche provare con l'opzione Funzione TIMESERIAL per creare date e verificare se sono numeriche o meno.

➤ Digitare il seguente codice

 Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà un tempo creato dall'opzione Funzione TIMESERIAL . poi ISNUMERICO restituirà VERO se l'ora è numerica, altrimenti restituirà FALSO .

➤ Stampa F5 .

Verrà quindi visualizzato un messaggio che dice "Falso" anche questa volta.

Ancora una volta, possiamo provare a fare riferimento a un valore temporale in una cella di un foglio.

➤ Digitare il seguente codice

 Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub 

Qui abbiamo dichiarato x come un Variante e memorizzerà l'ora che si trova nell'intervallo di tempo B2 cella. Poi ISNUMERICO restituirà VERO se l'ora è numerica, altrimenti restituisce FALSO .

➤ Stampa F5 .

Infine, verrà visualizzato un messaggio che dice "Vero" questa volta.

Per saperne di più: Come usare VBA TimeSerial in Excel (3 esempi)

7. Utilizzo di VBA IsNumeric per un intervallo di valori

In questo caso, si verificherà se i valori dei campi Marchi/gradi sono numerici o non numerici e hanno i risultati nella colonna Controllo colonna.

Passi :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete il seguente codice

 Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub 

Abbiamo dichiarato la cella come Intervallo e abbiamo utilizzato un elemento PER ciclo per le celle dell'intervallo "D5:D11" e per queste cellule, il ISNUMERICO restituirà VERO se il valore è numerico, altrimenti restituirà FALSO e cella.offset(0, 1) restituirà i valori di uscita in una colonna successiva a quella di ingresso.

➤ Stampa F5 .

Dopodiché, avremo VERO per i valori numerici o Marchi e FALSO per valori non numerici o Gradi .

Per saperne di più: Come utilizzare la funzione VBA Val in Excel (7 esempi)

8. Creazione di una funzione per testare un intervallo di valori

In questa sezione, creeremo una funzione con l'attributo VBA ISNUMERICO e verificare se i valori dei parametri Marchi/gradi sono numerici o non numerici.

Passo-01 :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete e salvate il seguente codice

 Function IsNumericTest(valore come variante) As Boolean If IsNumeric(valore) Then IsNumericTest = True Else IsNumericTest = False End If End Function 

Questo codice creerà una funzione chiamata IsNumericTest .

Passo-02 :

➤ Tornate al foglio principale e digitate la seguente formula nella cella E5

=IsNumericTest(D5)

D5 è il Marchi/gradi di uno studente e IsNumericTest restituirà VERO/FALSO a seconda del valore.

➤ Stampa ENTRARE e trascinare verso il basso l'elemento Maniglia di riempimento strumento.

Infine, avremo VERO per i valori numerici o Marchi e FALSO per valori non numerici o Gradi .

Contenuti correlati: Come usare la funzione VBA DIR in Excel (7 esempi)

9. Conteggio di valori non numerici con la funzione IsNumeric di VBA

Vogliamo contare i valori non numerici o i voti del Marchi/gradi e per farlo utilizzeremo la colonna VBA ISNUMERICO e avere il numero totale dei valori non numerici che abbiamo nel Conteggio colonna.

Passo-01 :

➤ Segui Passo-01 della sezione 1 .

➤ Scrivete e salvate il seguente codice

 Function countnonnumeric(value As range) As Long Dim cell As range Dim count As Long For Each cell In value.Cells If Not IsNumeric(cell.value) Then count = count + 1 End If Next countnonnumeric = count End Function 

Questo codice creerà una funzione chiamata contanonumerico .

Quando il valore della cella non è un valore numerico, il parametro conteggio sarà aumentato di 1 .

Passo-02 :

➤ Tornare al foglio principale e digitare la seguente formula

=conteggionumerico(D5:D11)

D5:D11 è l'intervallo del Marchi/gradi degli studenti e contanonumerico restituirà il numero totale di voti non numerici.

➤ Stampa ENTRARE

Infine, si otterrà il valore 3 il che significa che avete 3 I voti nel Marchi/gradi colonna.

Per saperne di più: Come restituire un valore in una funzione VBA (valori sia di array che non di array)

IsNumeric vs ISNUMBER

  • ISNUMERICO verifica se un valore può essere convertito in numero e ISNUMERO verifica se un valore è memorizzato come numero.
  • Esistono alcune differenze tra i Funzione VBA ISNUMERIC e il file Excel Funzione ISNUMBER e abbiamo cercato di mostrare le differenze qui di seguito, utilizzando il nostro modello creato in precedenza Funzione IsNumericTest e l'Excel integrato Funzione ISNUMBER .

Sezione pratica

Per fare pratica da soli, abbiamo messo a disposizione un Pratica come di seguito in un foglio chiamato Pratica . per favore, fatelo da soli.

Conclusione

In questo articolo abbiamo cercato di illustrare alcuni dei modi per utilizzare l'opzione VBA ISNUMERICO Se avete suggerimenti o domande, non esitate a condividerli nella sezione dei commenti.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.