Vediamo come estrarre velocemente una parte di testo da una cella di Excel senza dover ricorrere alla funzione STRIGA.ESTRAI

Ad esempio immaginiamo di avere in una cella Excel questo testo:

Andrea Perotti – In The Name Of Blog – www.andreaperotti.ch – Lugano

Abbiamo bisogno di estrarre il testo www.andreaperotti.ch dalla cella.

Chiaramente il testo contenuto nella cella deve essere delimitato ad esempio:
Nome, Cognome, Indirizzo (in questo caso i “pezzi” sono delimitati dalla virgola)

Procediamo quindi in questo modo:

Aprire la finestra di VBA:

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

Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) e copiare il codice riportato sotto:

Function GetStringPart(strInput As String, strDelimiter As String, _ 
    intPart As Integer) As String 
Dim varStrings As Variant 
    varStrings = Split(strInput, strDelimiter, -1, vbBinaryCompare) 
    On Error Resume Next 
    GetStringPart = Trim(varStrings(intPart - 1)) 
    On Error GoTo 0 
End Function

Chiudere quindi la finestra di Visual Basic e tornare in Excel.

A questo punto immaginiamo che nella cella A5 sia presente questo testo:

Andrea Perotti – In The Name Of Blog – www.andreaperotti.ch – Lugano

Nella cella H5 abbiamo bisogno di visualizzare solo il testo www.andreaperotti.ch

La formula che dovremo inserire nella cella H5 è la seguente:

=GetStringPart(strInput;strDelimiter;intPart)

Dove:

strInput: è la cella che contiene il testo completo

strDelimiter: è ciò che delimita una parte di testo dall’altra (tra virgolette ” “)

intPart: è la posizione del testo che vogliamo estrarre

Nel nostro caso quindi la funzione risulterebbe:

=GetStringPart(A5;”-“;3)

Se vogliamo rendere disponibile questa funzione in modo tale da trovarla all’avvio di ogni cartella di Excel possiamo creare un componente aggiuntivo come specificato qui.

 

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

Translate »