Come convertire un testo in un numero con Excel VBA (3 esempi con macro)

  • Condividi Questo
Hugh West

In Microsoft Excel, lavorare con i numeri è molto comune. A volte, dobbiamo elaborare un set di dati con grandi quantità di numeri. Tuttavia, può capitare di trovarsi in una situazione in cui i numeri hanno l'aspetto di testo. Per questo motivo, non è possibile aggiungere, sottrarre, dividere, moltiplicare o eseguire qualsiasi tipo di operazione. Viene sempre visualizzato un errore quando si tenta di farlo. In questa esercitazione, vi insegneremo come convertiretesto in numero in Excel utilizzando VBA codici con esempi adeguati e illustrazioni appropriate.

Scarica il quaderno di esercizi

Scaricate il quaderno di esercizi

Convertire il testo in numeri con VBA.xlsm

Come identificare i numeri formattati come testo

Microsoft Excel è abbastanza intelligente da capire la differenza tra testo e numero e li converte automaticamente nei rispettivi formati. Tuttavia, a volte non è in grado di farlo a causa di alcuni usi e interpretazioni errate del set di dati. Per questo motivo, i numeri vengono mantenuti come testo nella cartella di lavoro.

Guardate questo set di dati: abbiamo alcuni numeri in una colonna.

Anche se nella colonna sono presenti dei numeri, tutti sono allineati a sinistra come il testo. Ora fate clic su una cella qualsiasi e troverete questa casella accanto alla cella.

A questo punto, passate il cursore del mouse sulla casella e vedrete questo messaggio.

Mostra che la cella è formattata come testo. In questo modo, si può essere certi che le celle siano formattate come testo o meno.

3 codici VBA per convertire il testo in numero in Excel

Sebbene sia possibile convertire facilmente il testo in numeri manualmente, questa esercitazione è dedicata alla conversione del testo in numeri utilizzando i codici VBA. Vi consigliamo di imparare e applicare tutti questi metodi al vostro set di dati. Sicuramente vi torneranno utili in molte situazioni.

1. Codice VBA con il metodo Range.NumberFormat per convertire il testo in numero in Excel

Questo metodo è piuttosto semplice e facile da usare su qualsiasi set di dati. Tutto ciò che si deve fare è selezionare l'intervallo di celle e inserirlo nel file Codice VBA .

📌 Passi

1. Per prima cosa, premere ALT+F11 sulla tastiera per aprire la finestra Editor VBA .

2. Fare clic su Inserire> Modulo .

3. Digitare quindi il seguente codice:

 Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub 

4. Salvare il file.

5. Quindi, premere ALT+F8 Si aprirà la finestra Macro finestra di dialogo.

6. Selezionare Convertire testo in numero e fare clic su Correre.

Alla fine, questo codice convertirà il nostro testo in numeri.

Per saperne di più: Come convertire una stringa in un numero in Excel VBA

2. Codice VBA con loop e CSng per convertire il testo in numero

In questo metodo, si utilizza Anello e CSng funzioni. Il CSng in pratica prende qualsiasi testo come argomento e lo converte in un singolo numero. Il nostro ciclo passerà in rassegna ogni singola cella della colonna selezionata. Dopodiché, passeremo il valore di ogni cella a CSng per convertirlo da testo a numero.

📌 Passi

1. Per prima cosa, premere ALT+F11 sulla tastiera per aprire la finestra Editor VBA .

2. Fare clic su Inserire> Modulo .

3. Digitare quindi il seguente codice:

 Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub 

4. Salvare il file.

5. Quindi, premere ALT+F8 Si aprirà la finestra Macro finestra di dialogo.

6. Selezionare ConvertireUsingLoop e fare clic su Correre.

Come si può vedere, abbiamo convertito il testo in numeri utilizzando questo codice VBA.

Letture simili

  • Convertire testo in numero in Excel (6 modi)
  • Come convertire una stringa in un numero lungo utilizzando VBA in Excel (3 modi)
  • Convertire una stringa in un doppio in Excel VBA (5 metodi)
  • Come risolvere l'errore di conversione in numero in Excel (6 metodi)

3. Convertire il testo in numeri per intervalli dinamici in Excel

I metodi precedenti riguardavano gli intervalli selezionati, il che significa che è necessario inserire manualmente l'intervallo di celle nel codice. Ma a volte il set di dati può essere grande. In questi casi, è necessario ricordare l'intervallo di celle. Questo metodo supererà il problema. Sappiamo che il nostro set di dati parte da Cellula B5 Ma non sappiamo dove potrebbe finire.

Quindi identifichiamo dinamicamente l'ultima riga di excel utilizzata che contiene dati utilizzando Cells(Rows.Count, "B").End(xlUp).Row Restituisce l'ultimo numero di riga non vuoto che viene concatenato con " B5:B ".

📌 Passi

1. Per prima cosa, premere ALT+F11 sulla tastiera per aprire la finestra Editor VBA .

2. Fare clic su Inserire > Modulo .

3. Digitare quindi il seguente codice:

 Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub 

4. Salvare il file.

5. Quindi, premere ALT+F8 Si aprirà la finestra Macro finestra di dialogo.

6. Quindi selezionare Convertire gli intervalli dinamici e fare clic su Correre.

Come si può vedere, siamo riusciti a convertire il testo in numeri utilizzando i codici VBA.

💬 Cose da ricordare

Se i vostri dati si trovano in una colonna diversa, modificate di conseguenza l'intervallo di celle nei codici VBA.

I codici VBA funzionano solo sul foglio attivo.

Conclusione

Per concludere, spero che questa esercitazione vi abbia fornito un po' di conoscenze utili sulla conversione del testo in numero in Excel utilizzando i codici VBA. Vi consigliamo di imparare e applicare tutte queste istruzioni al vostro set di dati. Scaricate la cartella di lavoro pratica e provatele voi stessi. Inoltre, sentitevi liberi di dare un feedback nella sezione dei commenti. Il vostro prezioso feedback ci mantiene motivati a creare esercitazioni come questa.Non dimenticate di consultare il nostro sito web Exceldemy.com per vari problemi e soluzioni relativi a Excel.

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.