Saskia aveva problemi a convertire le informazioni, sotto il controllo di una macro, e ancora utilizzabile in Excel. Quando riceveva un foglio di lavoro che mostrava numeri formattati con punti decimali, doveva convertire i valori in modo che usassero virgole decimali, coerentemente con il modo in cui i numeri vengono visualizzati in Olanda. Avrebbe fatto una ricerca e una sostituzione e tutto avrebbe funzionato bene. Tuttavia, quando ha registrato una macro che ha eseguito la ricerca e la sostituzione, le celle risultanti sono state trattate come testo anziché come valori numerici.

Il motivo di questo comportamento è che Excel VBA “parla” americano e alcune azioni eseguite utilizzando una macro registrata non funzionano come previsto a causa di questo fatto. Poiché American Excel prevede che il separatore decimale sia un punto, l’interpretazione di un “numero” in VBA con un altro separatore (ad esempio una virgola) farà sì che Excel consideri il valore come testo.

La soluzione alternativa non è utilizzare Trova e sostituisci, ma un trucco diverso. Considera la seguente breve macro:

Sub ConvertNumbers()

Dim oConRange As Range     Set oConRange = ActiveSheet.UsedRange.Cells.SpecialCells(xlConstants)

oConRange.Value = oConRange.Value End Sub

Questa macro definisce un intervallo costituito da tutte le celle che contengono costanti. Quindi, imposta il valore di ogni cella nell’intervallo uguale a se stesso. Durante l’operazione, Excel rivaluta il contenuto di ogni cella e lo converte nel valore numerico appropriato. In altre parole, i numeri che contengono punti decimali vengono convertiti in numeri che contengono virgole decimali.

Ci sono altri modi per elaborare le celle usando una macro, ma la procedura sopra sembra funzionare la migliore e la più veloce.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2291) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: