Estrarre una stringa di testo da una cella Excel
martedì, 22 luglio 2008
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, _Chiudere quindi la finestra di Visual Basic e tornare in Excel.
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
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.
technorati tags: Microsoft, Excel, Estrarre, Testo, Celle, Stringa, GetStringPart, Funzioni
posted by Andrea Perotti @ 09.38 Permalink ,



