Abbiamo bisogno di estrarre e sommare numeri presenti in una cella alfanumerica Excel; poniamo ad esempio che una cella contenga il testo AB12 – CD 10 quello che dovremo fare è estrarre il numero 12 e il numero 10 e quindi sommarli tra loro. Il risultato in questo caso sarebbe 22. Vediamo come procedere.

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:

Public Function sommarenumeri(Num)

Dim filler, caratteri(), i, carattere, addendo(), segno, i_max

filler = "+"
ReDim Preserve caratteri(0)
caratteri(0) = filler

For i = 1 To Len(Num)
ReDim Preserve caratteri(i)
carattere = Mid(Num, i, 1)
If (carattere >= 0) And (carattere <= 9) Then
caratteri(i) = carattere
filler = "+"
Else
caratteri(i) = filler
End If
Next

i = 0
ReDim Preserve addendo(i)
segno = 1

For Each carattere In caratteri

If IsNumeric(carattere) Then
addendo(i) = (addendo(i) * 10) + (segno * carattere)
Else
i = i + 1
ReDim Preserve addendo(i)
If carattere = "+" Then
segno = 1
End If
End If

Next

i_max = i
sommarenumeri = 0

For i = 0 To i_max
sommarenumeri = sommarenumeri + addendo(i)
Next

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:

=sommarenumeri(Num)

Dove Num è il riferimento della cella dalla quale si vuole vengano estratti e sommati solo i numeri.

Se invece hai solamente bisogno di estrarre i numeri da una cella alfanumerica clicca qui per trovare la soluzione.

Informatics, ski racer, loves Finland, Norway, mountains, squash, photography, Drones and RC Helicopter – Snapchat: andrea.perotti

Translate »