Avevo descritto qui come estrarre e sommare numeri presenti in una cella alfanumerica Excel; questa funzione però non permette di estrarre e sommare numeri decimali, vediamo quindi come procedere in tal senso. Prima di tutto consideriamo che la procedura che sto per descrivere funziona solo nel caso in cui i numeri decimali siano separati dal testo o dagli altri numeri sempre dallo stesso delimitatore, ad esempio lo spazio, ovvero nel caso AB 12.3 CD 4.7 abbiamo la necessità di estrarre e sommare i numeri decimali 12.3 e 4.7
Dovendo lavorare in ambiente VBA apriamo la relativa finestra.
In Excel XP o 2003
Menù Strumenti – Macro – Visual Basic Editor
In Excel 2007
Bottone di Office – Pulsante Opzioni di Excel – Impostazioni generali – Opzione Mostra scheda Sviluppo sulla barra multifunzione
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic
In Excel 2010/2013
Scheda File – Opzioni – Personalizzazione barra multifunzione – Selezionare Sviluppo nella sezione Schede principali
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic
Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) quindi copiare il codice riportato qui sotto:
Function SumNums(rngS As Range, Optional strDelim As String = " ") As Double
Dim vNums As Variant, lngNum As Long
vNums = Split(rngS, strDelim)
For lngNum = LBound(vNums) To UBound(vNums) Step 1
SumNums = SumNums + Val(vNums(lngNum))
Next lngNum
End Function
Chiudere la finestra di Visual Basic.
Posizionarsi nella cella in cui si vuole vengano estratti e sommati tra loro i numeri e inserire la seguente funzione:
=SumNums(RngS;StrDelim)
Dove RngS è il riferimento della cella dalla quale si vuole estrarre e sommare i numeri decimali e StrDelim è il carattere che rappresenta il delimitatore
Se invece hai solamente bisogno di estrarre i numeri da una cella alfanumerica clicca qui per trovare la soluzione.
Informatics, ski racer, loves travels, Finland, Norway, mountains, squash, photography, Drones and RC Helicopter
buon giorno, utile la macro, chiedo gentilmente una personalizzazione…
come sostituire la virgola con il punto nell’ inseiento dei decimali? con il tastierino sono abituato ad usare il punto e vedo che la macro non funziona.
Inoltre non riconosce il simbolo + per il separatore. anche in questo caso mi è rappresentativo indicare la cella con: 150+20+1.5+20.3, quindi visualizzare il simbolo +.
grazie mille per una possibile risposta.
Lamberto
SALVE come posso moltiplicare i primi e soli due numeri dopo la virgola di una somma
grazie
domenico
Buonasera
dopo tanta ricerca trovo finalmente ciò che fa al caso mio.
mille grazie.
Come posso modificare la macro in modo che riconosca la virgola anziche il punto come separatore decimale??
grazie ancora 🙂