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.

 

Ayo - What is Love?
Pubblicità iPhone 3G Vodafone/TIM: più brutte non si poteva!

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

Translate »